Class: Workflow::Join::Sidekiq::Job::Worker

Inherits:
Object
  • Object
show all
Includes:
Sidekiq::Worker
Defined in:
lib/workflow/join/sidekiq/job.rb

Instance Method Summary collapse

Instance Method Details

#perform(*args) ⇒ Object



108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'lib/workflow/join/sidekiq/job.rb', line 108

def perform(*args)
  Job.find(args.pop['']).tap do |job|
    # FIXME: Log this somehow
    begin
      job.args = [*args, job.to_hash]
      job.result = Job.worker(job.worker).new.perform(*job.args)
      job.success!
    rescue => e
      job.fail! e
      raise e
    end
  end
end