Class: Delayed::Worker

Inherits:
Object
  • Object
show all
Includes:
HoptoadNotifier::Catcher
Defined in:
lib/delayed_job_extras/worker.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.enqueue(*args) ⇒ Object

VideoWorker.enqueue(1) # => Delayed::Job.enqueue(VideoWorker.new(1))



27
28
29
# File 'lib/delayed_job_extras/worker.rb', line 27

def enqueue(*args)
  Delayed::Job.enqueue(self.new(*args))
end

.method_missing(sym, *args) ⇒ Object

VideoWorker.encode(1) # => Delayed::Job.enqueue(VideoWorker.new(:encode, 1))



22
23
24
# File 'lib/delayed_job_extras/worker.rb', line 22

def method_missing(sym, *args)
  self.enqueue(sym, *args)
end

.perform(&block) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/delayed_job_extras/worker.rb', line 31

def perform(&block)
  define_method(:perform) do
    begin
      self.instance_eval(&block)
    rescue Exception => e
      # send to hoptoad!
      notify_hoptoad(e)
      raise e
    end
  end
end

Instance Method Details

#loggerObject



15
16
17
# File 'lib/delayed_job_extras/worker.rb', line 15

def logger
  RAILS_DEFAULT_LOGGER
end

#notify_hoptoad(e) ⇒ Object



7
8
# File 'lib/delayed_job_extras/worker.rb', line 7

def notify_hoptoad(e)
end

#worker_class_nameObject



11
12
13
# File 'lib/delayed_job_extras/worker.rb', line 11

def worker_class_name
  self.class.to_s.underscore
end