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

Pass the entire message to sidekiq_retries_exhausted

This commit is contained in:
Justin Mazzi 2013-06-27 12:22:50 -04:00
parent f58f6b1947
commit b41fcd2d1e
2 changed files with 8 additions and 3 deletions

View file

@ -99,7 +99,7 @@ module Sidekiq
logger.warn { "Defining #{worker.class.name}#retries_exhausted as a method is deprecated, use `sidekiq_retries_exhausted` callback instead http://git.io/Ijju8g" }
worker.retries_exhausted(*msg['args'])
elsif worker.sidekiq_retries_exhausted_block?
worker.sidekiq_retries_exhausted_block.call(*msg['args'])
worker.sidekiq_retries_exhausted_block.call(msg)
end
rescue Exception => e

View file

@ -202,12 +202,17 @@ class TestRetry < Minitest::Test
Class.new do
include Sidekiq::Worker
sidekiq_retries_exhausted { |*args| args << "retried" }
sidekiq_retries_exhausted do |msg|
msg.tap {|m| m['called_by_callback'] = true }
end
end
end
it 'calls worker sidekiq_retries_exhausted_block after too many retries' do
assert_equal [1,2, "foo", "retried"], handler.retries_exhausted(worker.new, msg)
new_msg = handler.retries_exhausted(worker.new, msg)
expected_msg = msg.merge('called_by_callback' => true)
assert_equal expected_msg, new_msg, "sidekiq_retries_exhausted block not called"
end
end