1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00

Merge pull request #1938 from jejacks0n/extracted_perform

extracts worker.perform so call can be enhanced
This commit is contained in:
Mike Perham 2014-09-10 10:28:12 -07:00
commit 47c20e5ce8
4 changed files with 23 additions and 3 deletions

View file

@ -49,7 +49,7 @@ module Sidekiq
stats(worker, msg, queue) do
Sidekiq.server_middleware.invoke(worker, msg, queue) do
worker.perform(*cloned(msg['args']))
execute_job(worker, cloned(msg['args']))
end
end
rescue Sidekiq::Shutdown
@ -71,6 +71,10 @@ module Sidekiq
"<Processor##{object_id.to_s(16)}>"
end
def execute_job(worker, cloned_args)
worker.perform(*cloned_args)
end
private
def thread_identity

View file

@ -153,7 +153,7 @@ module Sidekiq
while job = jobs.shift do
worker = new
worker.jid = job['jid']
worker.perform(*job['args'])
execute_job(worker, job['args'])
end
end
@ -163,7 +163,11 @@ module Sidekiq
job = jobs.shift
worker = new
worker.jid = job['jid']
worker.perform(*job['args'])
execute_job(worker, job['args'])
end
def execute_job(worker, args)
worker.perform(*args)
end
end

View file

@ -39,6 +39,12 @@ class TestProcessor < Sidekiq::Test
assert_equal 1, $invokes
end
it 'executes a worker as expected' do
worker = Minitest::Mock.new
worker.expect(:perform, nil, [1, 2, 3])
@processor.execute_job(worker, [1, 2, 3])
end
it 'passes exceptions to ExceptionHandler' do
actor = Minitest::Mock.new
actor.expect(:real_thread, nil, [nil, Thread])

View file

@ -261,5 +261,11 @@ class TestTesting < Sidekiq::Test
assert_equal 1, FirstWorker.count
assert_equal 1, SecondWorker.count
end
it 'can execute a job' do
worker = Minitest::Mock.new
worker.expect(:perform, nil, [1, 2, 3])
DirectWorker.execute_job(worker, [1, 2, 3])
end
end
end