diff options
author | yuuji.yaginuma <yuuji.yaginuma@gmail.com> | 2018-07-25 17:30:38 +0900 |
---|---|---|
committer | Yuji Yaginuma <yuuji.yaginuma@gmail.com> | 2018-08-18 11:22:41 +0900 |
commit | e49fb7921e94d533ed39c197cf0287120d389b28 (patch) | |
tree | 579f29338a25daeb88379cd1fbac169f18e23b3f /activejob/test/cases | |
parent | d6688892f6fe3a3aae5c146dcee083210b15f65a (diff) | |
download | rails-e49fb7921e94d533ed39c197cf0287120d389b28.tar.gz rails-e49fb7921e94d533ed39c197cf0287120d389b28.tar.bz2 rails-e49fb7921e94d533ed39c197cf0287120d389b28.zip |
Increment execution count before deserialize arguments
Currently, the execution count increments after deserializes arguments.
Therefore, if an error occurs with deserialize, it retries indefinitely.
In order to prevent this, the count is moved before deserialize.
Fixes #33344.
Diffstat (limited to 'activejob/test/cases')
-rw-r--r-- | activejob/test/cases/exceptions_test.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/activejob/test/cases/exceptions_test.rb b/activejob/test/cases/exceptions_test.rb index 47d4e3c0c2..37bb65538a 100644 --- a/activejob/test/cases/exceptions_test.rb +++ b/activejob/test/cases/exceptions_test.rb @@ -2,6 +2,7 @@ require "helper" require "jobs/retry_job" +require "models/person" class ExceptionsTest < ActiveJob::TestCase setup do @@ -131,4 +132,11 @@ class ExceptionsTest < ActiveJob::TestCase assert_equal [ "Raised SecondDiscardableErrorOfTwo for the 1st time" ], JobBuffer.values end end + + test "successfully retry job throwing DeserializationError" do + perform_enqueued_jobs do + RetryJob.perform_later Person.new(404), 5 + assert_equal ["Raised ActiveJob::DeserializationError for the 5 time"], JobBuffer.values + end + end end |