aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb
diff options
context:
space:
mode:
authorJeroen van Baarsen <jeroenvanbaarsen@gmail.com>2015-05-07 15:57:33 +0200
committerJeroen van Baarsen <jeroenvanbaarsen@gmail.com>2015-05-07 21:48:50 +0200
commit52d131826e46d1a4606b71ddbf57db0f75f040e0 (patch)
treebe507d4c0fa5f2dfc0dcba6210099d7d1b75f6bf /activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb
parentd84bfaa8530e42188f0361efb5a61c73948192e6 (diff)
downloadrails-52d131826e46d1a4606b71ddbf57db0f75f040e0.tar.gz
rails-52d131826e46d1a4606b71ddbf57db0f75f040e0.tar.bz2
rails-52d131826e46d1a4606b71ddbf57db0f75f040e0.zip
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 <jeroenvanbaarsen@gmail.com>
Diffstat (limited to 'activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb')
-rw-r--r--activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb8
1 files changed, 6 insertions, 2 deletions
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: