aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/lib
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2015-05-07 17:40:26 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2015-05-07 17:40:26 -0300
commitd19d79e6bb24aa5d0d7b040f018bd42f0d474f3c (patch)
treed9d9a32033d27bd329c28fd7938f575c1def2b93 /activejob/lib
parent634c5cbc190ca1d55c51ab90783f740cb075b131 (diff)
parent29fcbc2ea0dc5ee2d8f512295f2ad3fac83f9941 (diff)
downloadrails-d19d79e6bb24aa5d0d7b040f018bd42f0d474f3c.tar.gz
rails-d19d79e6bb24aa5d0d7b040f018bd42f0d474f3c.tar.bz2
rails-d19d79e6bb24aa5d0d7b040f018bd42f0d474f3c.zip
Merge pull request #20056 from jvanbaarsen/sidekiq-job-id
Let Sidekiq and Que set provider_job_id
Diffstat (limited to 'activejob/lib')
-rw-r--r--activejob/lib/active_job/queue_adapters/que_adapter.rb8
-rw-r--r--activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb8
2 files changed, 12 insertions, 4 deletions
diff --git a/activejob/lib/active_job/queue_adapters/que_adapter.rb b/activejob/lib/active_job/queue_adapters/que_adapter.rb
index a1a41ccc32..90947aa98d 100644
--- a/activejob/lib/active_job/queue_adapters/que_adapter.rb
+++ b/activejob/lib/active_job/queue_adapters/que_adapter.rb
@@ -16,11 +16,15 @@ module ActiveJob
# Rails.application.config.active_job.queue_adapter = :que
class QueAdapter
def enqueue(job) #:nodoc:
- JobWrapper.enqueue job.serialize
+ que_job = JobWrapper.enqueue job.serialize
+ job.provider_job_id = que_job.attrs["job_id"]
+ que_job
end
def enqueue_at(job, timestamp) #:nodoc:
- JobWrapper.enqueue job.serialize, run_at: Time.at(timestamp)
+ que_job = JobWrapper.enqueue job.serialize, run_at: Time.at(timestamp)
+ job.provider_job_id = que_job.attrs["job_id"]
+ que_job
end
class JobWrapper < Que::Job #:nodoc:
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: