class DCA::Jobs::Job
Attributes
options[R]
Public Class Methods
create(options={})
click to toggle source
Add a job to queue. Queue name is a class module name
# File lib/dca/jobs/job.rb, line 14 def self.create(options={}) Resque.enqueue(self, options) end
new(options = {})
click to toggle source
# File lib/dca/jobs/job.rb, line 24 def initialize(options = {}) @options = options trap('QUIT') { shutdown } end
perform(options={})
click to toggle source
# File lib/dca/jobs/job.rb, line 18 def self.perform(options={}) instance = new options.symbolize_keys! instance.safe_perform! instance end
queue()
click to toggle source
# File lib/dca/jobs/job.rb, line 9 def self.queue self.to_s.split("::")[-2] end
Public Instance Methods
destroy()
click to toggle source
# File lib/dca/jobs/job.rb, line 47 def destroy end
perform()
click to toggle source
# File lib/dca/jobs/job.rb, line 43 def perform raise NotImplementedError end
safe_perform!()
click to toggle source
# File lib/dca/jobs/job.rb, line 30 def safe_perform! perform on_success if respond_to?(:on_success) rescue Exception => exception if respond_to?(:on_failure) on_failure(exception) else raise exception end ensure destroy end
shutdown?()
click to toggle source
# File lib/dca/jobs/job.rb, line 51 def shutdown? @shutdown end
Private Instance Methods
shutdown()
click to toggle source
# File lib/dca/jobs/job.rb, line 57 def shutdown @shutdown = true end