Я использую ActiveJob, и у меня есть несколько вопросов о методах discard_on и retry_on, которые фиксируют исключения.
Определяет ли ActiveJob их порядок и порядок выполнения? (Я думаю, это связано, но я не уверен.)
Принимая во внимание, я надеюсь, что retry_on перехватывает только пользовательские исключения, а другие исключения перехватываются discard_on.
Я вижу, что discard_on и retry_on в исходном коде должны использовать rescue_from, потому что после rescue_from определенный оператор выполняется первым, так что вот как я определил свои предположения, надеюсь, вы сможете помогите мне указать, что, если вы располагаете лучшим способом достижения той же функциональности, правильно ли это, скажите, пожалуйста, большое спасибо.
class RemoteServiceJob < ActiveJob::Base
discard_on StandardError # second catch other exceptions
retry_on MyCustomException, wait: 5.seconds, attempts: 3 # first catch custom exceptions
end