Приложение My Rails использует ActiveJob + DelayedJob для выполнения некоторых фоновых заданий.
Я пытаюсь выяснить, как определить, что происходит при сбое (не при ошибке), то есть если DelayedJob имеетпометил задание как невыполненное, после разрешенных 3 попыток я хочу выполнить какую-то операцию.
Это то, что я знаю до сих пор:
- У DelayedJob есть меткое имя
failure
ловушка . - Эта ловушка не поддерживается в ActiveJob
- ActiveJob имеет
rescue_from
метод - Метод
rescue_from
, вероятно, не является правильным решением, поскольку я не хочу что-то делать с каждым исключением, а только после 3 попыток (читай: только после того, как DelayedJob посчитал задание невыполненным). - ActiveJob имеет
after_perform
hook , который я не могу использовать, поскольку (насколько я вижу) он не вызывается при сбое perform
.
Любая помощь приветствуется.