From 0be5d5d4c4c26d28fd1f39496a7a88d208afff13 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Mon, 1 Aug 2016 16:44:29 -0700 Subject: Add exponentially_longer and custom wait algorithms --- activejob/test/jobs/retry_job.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'activejob/test/jobs') diff --git a/activejob/test/jobs/retry_job.rb b/activejob/test/jobs/retry_job.rb index 91be37f106..35177c5be5 100644 --- a/activejob/test/jobs/retry_job.rb +++ b/activejob/test/jobs/retry_job.rb @@ -3,11 +3,15 @@ require 'active_support/core_ext/integer/inflections' class DefaultsError < StandardError; end class ShortWaitTenAttemptsError < StandardError; end +class ExponentialWaitTenAttemptsError < StandardError; end +class CustomWaitTenAttemptsError < StandardError; end class DiscardableError < StandardError; end class RetryJob < ActiveJob::Base retry_on DefaultsError 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 discard_on DiscardableError def perform(raising, attempts) -- cgit v1.2.3