b0f2f5e348
Since #33751 was added `enqueue_retry.active_job` instrumentation to the `retry_on` method, then #33897 moved the instrumentation to `retry_job` method in order to ensure that this method publish `enqueue_retry.active_job` notification too. See related discussion https://github.com/rails/rails/pull/33751#discussion_r214140008 Since `enqueue_retry.active_job` moved to `retry_job`, there is no guarantee that payload of `enqueue_retry.active_job` would have `:error`. See test `LoggingTest#test_enqueue_retry_logging_on_retry_job` as example of that case. Related to https://github.com/rails/rails/pull/33897#discussion_r219707024 I think we can improve notification of `enqueue_retry.active_job`: - If there is no `event.payload[:error]`, then publish like "Retrying RescueJob in 3 seconds." only. - If `event.payload[:wait]` is `nil`, then publish "Retrying RescueJob in 0 seconds." instead of "Retrying RescueJob in nil seconds." - If there is `event.payload[:error]`, then publish "Retrying RescueJob in 3 seconds, due to a DefaultsError.". - Change the type of the message from `error` to `info.` Also, this commit removes part of messages - "The original exception was #{ex.cause.inspect}." of `enqueue_retry.active_job`, `retry_stopped.active_job`, and `discard.active_job` since I haven't found it useful. Please let me know whether you agree with that? |
||
---|---|---|
.. | ||
adapter_test.rb | ||
argument_serialization_test.rb | ||
callbacks_test.rb | ||
exceptions_test.rb | ||
job_serialization_test.rb | ||
logging_test.rb | ||
queue_adapter_test.rb | ||
queue_naming_test.rb | ||
queue_priority_test.rb | ||
queuing_test.rb | ||
rescue_test.rb | ||
serializers_test.rb | ||
test_case_test.rb | ||
test_helper_test.rb | ||
timezones_test.rb | ||
translation_test.rb |