Я использую ActiveJob, и у меня есть несколько вопросов о методах discard_on и retry_on, которые перехватывают исключения.
Определяет ли ActiveJob их порядок и порядок выполнения? (Я предполагаю, что это связано, но я не уверен.)
Предполагая актуальность, я надеюсь, что retry_on перехватывает только пользовательские исключения, а discard_on перехватывает другие исключения.
Я вижу discard_on и retry_on в источнике код должен использовать escape_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