Class: Resque::Worker

Inherits:
Object
  • Object
show all
Defined in:
lib/resque/hooks/before_unregister_worker.rb

Direct Known Subclasses

APN::Sender

Instance Method Summary collapse

Instance Method Details

#run_hook(name, *args) ⇒ Object

Unforunately have to override Resque::Worker’s run_hook method to call hook on APN::QueueManager rather on Resque directly. Any suggestions on how to make this more flexible are more than welcome.



19
20
21
22
23
24
25
26
27
# File 'lib/resque/hooks/before_unregister_worker.rb', line 19

def run_hook(name, *args)
  # return unless hook = Resque.send(name)
  return unless hook = APN::QueueManager.send(name)
  msg = "Running #{name} hook"
  msg << " with #{args.inspect}" if args.any?
  log msg

  args.any? ? hook.call(*args) : hook.call
end

#unregister_workerObject

Wrapper for original unregister_worker method which adds a before hook before_unregister_worker to be executed if present.



10
11
12
13
# File 'lib/resque/hooks/before_unregister_worker.rb', line 10

def unregister_worker
  run_hook(:before_unregister_worker, self) 
  unregister_worker_without_before_hook
end

#unregister_worker_without_before_hookObject



6
# File 'lib/resque/hooks/before_unregister_worker.rb', line 6

alias_method :unregister_worker_without_before_hook, :unregister_worker