From a1e4c197cb12fef66530a2edfaeda75566088d1f Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 16 Aug 2016 16:01:59 -0700 Subject: Yield the job instance so you have access to things like `job.arguments` on the custom logic after retries fail --- activejob/test/cases/exceptions_test.rb | 4 ++-- activejob/test/jobs/retry_job.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'activejob/test') diff --git a/activejob/test/cases/exceptions_test.rb b/activejob/test/cases/exceptions_test.rb index 30e43c99cb..9ee1dbfa0a 100644 --- a/activejob/test/cases/exceptions_test.rb +++ b/activejob/test/cases/exceptions_test.rb @@ -58,8 +58,8 @@ class ExceptionsTest < ActiveJob::TestCase test "custom handling of job that exceeds retry attempts" do perform_enqueued_jobs do - RetryJob.perform_later "CustomCatchError", 6 - assert_equal "Dealt with a job that failed to retry in a custom way", JobBuffer.last_value + RetryJob.perform_later 'CustomCatchError', 6 + assert_equal "Dealt with a job that failed to retry in a custom way after 6 attempts", JobBuffer.last_value end end diff --git a/activejob/test/jobs/retry_job.rb b/activejob/test/jobs/retry_job.rb index be20156984..c02febc50c 100644 --- a/activejob/test/jobs/retry_job.rb +++ b/activejob/test/jobs/retry_job.rb @@ -15,7 +15,7 @@ class RetryJob < ActiveJob::Base retry_on ShortWaitTenAttemptsError, wait: 1.second, attempts: 10 retry_on ExponentialWaitTenAttemptsError, wait: :exponentially_longer, attempts: 10 retry_on CustomWaitTenAttemptsError, wait: ->(executions) { executions * 2 }, attempts: 10 - retry_on(CustomCatchError) { |exception| JobBuffer.add("Dealt with a job that failed to retry in a custom way") } + retry_on(CustomCatchError) { |job, exception| JobBuffer.add("Dealt with a job that failed to retry in a custom way after #{job.arguments.second} attempts") } discard_on DiscardableError def perform(raising, attempts) -- cgit v1.2.3