- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
- No changes.
-
Make
retry_jobreturn the job that was created.Rafael Mendonça França
-
Include
ActiveSupport::Testing::AssertionsinActiveJob::TestHelpers.Mikkel Malmberg
-
Recover nano precision when serializing
Time,TimeWithZoneandDateTimeobjects.Alan Tan
-
Deprecate
config.active_job.return_false_on_aborted_enqueue.Rafael Mendonça França
-
Return
falsewhen enqueuing a job is aborted.Rafael Mendonça França
-
While using
perform_enqueued_jobstest helper enqueued jobs must be stored for the later check withassert_enqueued_with.Dmitry Polushkin
-
ActiveJob::TestCase#perform_enqueued_jobswithout a block removes performed jobs from the queue.That way the helper can be called multiple times and not perform a job invocation multiple times.
def test_jobs HelloJob.perform_later("rafael") perform_enqueued_jobs # only runs with "rafael" HelloJob.perform_later("david") perform_enqueued_jobs # only runs with "david" end
Étienne Barrié
-
ActiveJob::TestCase#perform_enqueued_jobswill no longer perform retries:When calling
perform_enqueued_jobswithout a block, the adapter will now perform jobs that are already in the queue. Jobs that will end up in the queue afterwards won't be performed.This change only affects
perform_enqueued_jobswhen no block is given.Edouard Chin
-
Add queue name support to Que adapter.
Brad Nauta, Wojciech Wnętrzak
-
Don't run
after_enqueueandafter_performcallbacks if the callback chain is halted.class MyJob < ApplicationJob before_enqueue { throw(:abort) } after_enqueue { # won't enter here anymore } endafter_enqueueandafter_performcallbacks will no longer run if the callback chain is halted. This behaviour is a breaking change and won't take effect until Rails 7.0. To enable this behaviour in your app right now, you can add in your app's configuration fileconfig.active_job.skip_after_callbacks_if_terminated = true.Edouard Chin
-
Fix enqueuing and performing incorrect logging message.
Jobs will no longer always log "Enqueued MyJob" or "Performed MyJob" when they actually didn't get enqueued/performed.
class MyJob < ApplicationJob before_enqueue { throw(:abort) } end MyJob.perform_later # Will no longer log "Enqueued MyJob" since job wasn't even enqueued through adapter.
A new message will be logged in case a job couldn't be enqueued, either because the callback chain was halted or because an exception happened during enqueuing. (i.e. Redis is down when you try to enqueue your job)
Edouard Chin
-
Add an option to disable logging of the job arguments when enqueuing and executing the job.
class SensitiveJob < ApplicationJob self.log_arguments = false def perform(my_sensitive_argument) end endWhen dealing with sensitive arguments as password and tokens it is now possible to configure the job to not put the sensitive argument in the logs.
Rafael Mendonça França
-
Changes in
queue_name_prefixof a job no longer affects all other jobs.Fixes #37084.
Lucas Mansur
-
Allow
ClassandModuleinstances to be serialized.Kevin Deisz
-
Log potential matches in
assert_enqueued_withandassert_performed_with.Gareth du Plooy
-
Add
atargument to theperform_enqueued_jobstest helper.John Crepezzi, Eileen Uchitelle
-
assert_enqueued_withandassert_performed_withcan now test jobs with relative delay.Vlado Cingel
-
Add jitter to
ActiveJob::Exceptions.retry_on.ActiveJob::Exceptions.retry_onnow uses a random amount of jitter in order to prevent the thundering herd effect. Defaults to 15% (represented as 0.15) but overridable via the:jitteroption when usingretry_on. Jitter is applied when anInteger,ActiveSupport::Durationor:exponentially_longer, is passed to thewaitargument inretry_on.retry_on(MyError, wait: :exponentially_longer, jitter: 0.30)
Anthony Ross
Please check 6-0-stable for previous changes.