aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/test
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2016-08-16 16:01:59 -0700
committerDavid Heinemeier Hansson <david@loudthinking.com>2016-08-16 16:01:59 -0700
commita1e4c197cb12fef66530a2edfaeda75566088d1f (patch)
treede37b052b4cea329b94f0f8dfb633b99564d04a6 /activejob/test
parente1aabeedd896fe381570f85c5b4116049c49f1b6 (diff)
downloadrails-a1e4c197cb12fef66530a2edfaeda75566088d1f.tar.gz
rails-a1e4c197cb12fef66530a2edfaeda75566088d1f.tar.bz2
rails-a1e4c197cb12fef66530a2edfaeda75566088d1f.zip
Yield the job instance so you have access to things like `job.arguments` on the custom logic after retries fail
Diffstat (limited to 'activejob/test')
-rw-r--r--activejob/test/cases/exceptions_test.rb4
-rw-r--r--activejob/test/jobs/retry_job.rb2
2 files changed, 3 insertions, 3 deletions
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)