提交 410a2141 编写于 作者: R Rafael França 提交者: GitHub

Merge pull request #25961 from Azzurrio/master

Fix accessing provider_job_id inside active jobs for sidekiq adapter
......@@ -105,6 +105,7 @@ def serialize
# end
def deserialize(job_data)
self.job_id = job_data['job_id']
self.provider_job_id = job_data['provider_job_id']
self.queue_name = job_data['queue_name']
self.priority = job_data['priority']
self.serialized_arguments = job_data['arguments']
......
......@@ -37,7 +37,7 @@ class JobWrapper #:nodoc:
include Sidekiq::Worker
def perform(job_data)
Base.execute job_data
Base.execute job_data.merge('provider_job_id' => jid)
end
end
end
......
require 'helper'
require 'jobs/logging_job'
require 'jobs/hello_job'
require 'jobs/provider_jid_job'
require 'active_support/core_ext/numeric/time'
class QueuingTest < ActiveSupport::TestCase
......@@ -34,6 +35,14 @@ class QueuingTest < ActiveSupport::TestCase
end
end
test 'should access provider_job_id inside Sidekiq job' do
skip unless adapter_is?(:sidekiq)
Sidekiq::Testing.inline! do
job = ::ProviderJidJob.perform_later
assert_equal "Provider Job ID: #{job.provider_job_id}", JobBuffer.last_value
end
end
test 'should not run job enqueued in the future' do
begin
TestJob.set(wait: 10.minutes).perform_later @id
......
require_relative '../support/job_buffer'
class ProviderJidJob < ActiveJob::Base
def perform
JobBuffer.add("Provider Job ID: #{provider_job_id}")
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册