diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-03-23 20:04:08 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-03-23 20:04:08 -0300 |
commit | 503d9e12887e21015f9b241944dd850614c3e1b3 (patch) | |
tree | cbe7265263418ba20eb3cb2a3d7794b62640d493 /activejob | |
parent | 4a0f314d8a54c090e53400f84508a3118c0fe2b4 (diff) | |
parent | 8d2b1406bc201d8705e931b6f043441930f2e8ac (diff) | |
download | rails-503d9e12887e21015f9b241944dd850614c3e1b3.tar.gz rails-503d9e12887e21015f9b241944dd850614c3e1b3.tar.bz2 rails-503d9e12887e21015f9b241944dd850614c3e1b3.zip |
Merge pull request #19482 from mperham/master
Pass wrapped class name to Sidekiq for logging purposes
Diffstat (limited to 'activejob')
-rw-r--r-- | activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb | 16 | ||||
-rw-r--r-- | activejob/test/integration/queuing_test.rb | 13 |
2 files changed, 22 insertions, 7 deletions
diff --git a/activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb b/activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb index e02593ec9c..743d5ea333 100644 --- a/activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb +++ b/activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb @@ -18,17 +18,19 @@ module ActiveJob def enqueue(job) #:nodoc: #Sidekiq::Client does not support symbols as keys Sidekiq::Client.push \ - 'class' => JobWrapper, - 'queue' => job.queue_name, - 'args' => [ job.serialize ] + 'class' => JobWrapper, + 'wrapped' => job.class.to_s, + 'queue' => job.queue_name, + 'args' => [ job.serialize ] end def enqueue_at(job, timestamp) #:nodoc: Sidekiq::Client.push \ - 'class' => JobWrapper, - 'queue' => job.queue_name, - 'args' => [ job.serialize ], - 'at' => timestamp + 'class' => JobWrapper, + 'wrapped' => job.class.to_s, + 'queue' => job.queue_name, + 'args' => [ job.serialize ], + 'at' => timestamp end class JobWrapper #:nodoc: diff --git a/activejob/test/integration/queuing_test.rb b/activejob/test/integration/queuing_test.rb index 38874b51a8..af19a92118 100644 --- a/activejob/test/integration/queuing_test.rb +++ b/activejob/test/integration/queuing_test.rb @@ -1,5 +1,6 @@ require 'helper' require 'jobs/logging_job' +require 'jobs/hello_job' require 'active_support/core_ext/numeric/time' class QueuingTest < ActiveSupport::TestCase @@ -23,6 +24,18 @@ class QueuingTest < ActiveSupport::TestCase end end + test 'should supply a wrapped class name to Sidekiq' do + skip unless adapter_is?(:sidekiq) + require 'sidekiq/testing' + + Sidekiq::Testing.fake! do + ::HelloJob.perform_later + hash = ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper.jobs.first + assert_equal "ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper", hash['class'] + assert_equal "HelloJob", hash['wrapped'] + end + end + test 'should not run job enqueued in the future' do begin TestJob.set(wait: 10.minutes).perform_later @id |