Class: Delayed::PerformableMethod

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#dj_objectObject

Returns the value of attribute dj_object.



5
6
7
# File 'lib/delayed_job_extras/performable_method.rb', line 5

def dj_object
  @dj_object
end

#worker_class_nameObject

Returns the value of attribute worker_class_name.



4
5
6
# File 'lib/delayed_job_extras/performable_method.rb', line 4

def worker_class_name
  @worker_class_name
end

Instance Method Details

#initialize_with_worker_class_name(object, method, args) ⇒ Object



7
8
9
10
# File 'lib/delayed_job_extras/performable_method.rb', line 7

def initialize_with_worker_class_name(object, method, args)
  self.worker_class_name = "#{object.class}__#{method}".underscore
  initialize_without_worker_class_name(object, method, args)
end

#perform_with_hoptoadObject



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/delayed_job_extras/performable_method.rb', line 17

def perform_with_hoptoad
  dj_id = 'unknown'
  dj_id = self.dj_object.id if self.dj_object
  begin
    Delayed::Worker.logger.info("Starting #{self.class.name}#perform (DJ.id = '#{dj_id}')")
    perform_without_hoptoad
    Delayed::Worker.logger.info("Completed #{self.class.name}#perform (DJ.id = '#{dj_id}') [SUCCESS]")
  rescue Exception => e
    notify_hoptoad(e)
    Delayed::Worker.logger.info("Halted #{self.class.name}#perform (DJ.id = '#{dj_id}') [FAILURE]")
    raise e
  end
end