Module: AsyncResponse::Workers::Sidekiq

Extended by:
ActiveSupport::Concern
Defined in:
lib/async_response/workers/sidekiq.rb

Defined Under Namespace

Classes: WorkerResponse

Instance Method Summary collapse

Instance Method Details

#response_for(job_id, &block) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/async_response/workers/sidekiq.rb', line 6

def response_for(job_id, &block)
  job = AsyncResponse::Job.find(job_id)
  return unless job

  worker_response = WorkerResponse.new(job)
  data = block.call(worker_response)
  worker_response.finished!(data)

rescue StandardError => e
  job.error = e.message
  job.errored!
  raise e
end