collectiveidea/delayed_job

access provider_job_id inside ActiveJob

senid231 opened this issue · 1 comments

looks like provider_job_id is nil inside active_job instance during perform (and related callbacks)

but fix is quiet simple
just put following into initializer

class Delayed::ActiveJobPlugin < Delayed::Plugin
  callbacks do |lifecycle|
    lifecycle.before(:invoke_job) do |job|
      job.payload_object.job_data['provider_job_id'] = job.id if job.payload_object.respond_to?(:job_data)
    end
  end
end

Delayed::Worker.plugins << Delayed::ActiveJobPlugin

I want to keep it here for future generation
maybe add to README?