From 52d131826e46d1a4606b71ddbf57db0f75f040e0 Mon Sep 17 00:00:00 2001 From: Jeroen van Baarsen Date: Thu, 7 May 2015 15:57:33 +0200 Subject: Let Sidekiq set provider_job_id When a job is added to Sidekiq by ActiveJob, make sure we still can get the original job_id provider by Sidekiq. We do this by adding the sidekiq jid to provider_job_id field on the job object. Partly fixes #18821 Signed-off-by: Jeroen van Baarsen --- activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb') diff --git a/activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb b/activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb index 743d5ea333..7a2dd3e9fc 100644 --- a/activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb +++ b/activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb @@ -17,20 +17,24 @@ module ActiveJob class SidekiqAdapter def enqueue(job) #:nodoc: #Sidekiq::Client does not support symbols as keys - Sidekiq::Client.push \ + sidekiq_job_id = Sidekiq::Client.push \ 'class' => JobWrapper, 'wrapped' => job.class.to_s, 'queue' => job.queue_name, 'args' => [ job.serialize ] + job.provider_job_id = sidekiq_job_id + sidekiq_job_id end def enqueue_at(job, timestamp) #:nodoc: - Sidekiq::Client.push \ + sidekiq_job_id = Sidekiq::Client.push \ 'class' => JobWrapper, 'wrapped' => job.class.to_s, 'queue' => job.queue_name, 'args' => [ job.serialize ], 'at' => timestamp + job.provider_job_id = sidekiq_job_id + sidekiq_job_id end class JobWrapper #:nodoc: -- cgit v1.2.3