2015-09-02 3 views
1

Как отключить повторы с activeMailer и deliver_later?deliver_later без повтора

Я недавно столкнулся с проблемой, когда один из моих методов почтовой программы терпел неудачу из-за ошибки синтаксиса в представлении. Мы использовали deliver_later для отправки сообщений

Когда оно было наконец обнаружено и исправлено, все старые сообщения, которые были сбой, были повторно предприняты, а затем доставлены. Это были сообщения, чувствительные к времени, и их не следует повторять.

Я не могу найти способ сделать что-то вроде .deliver_later(retry: false) Будет ли использовать deliver_now решить эту проблему?

Я использую delayed_job как свою очередь сообщений.

ответ

2

ActiveJob не касается настроек повторного набора адаптеров (https://github.com/rails/rails/blob/master/activejob/lib/active_job/queue_adapters/delayed_job_adapter.rb). Единственный способ получить это, если вы полностью отключите механизм повтора в DJ (Delayed::Worker.max_attempts = 4)

+0

Спасибо. Это разочаровывает, это не то, что я хочу изменить на таком глобальном уровне. – Doug

Смежные вопросы