如何使用activeMailer和deliver_later
禁用重试?
我最近遇到了一个问题,其中一个邮件程序由于视图中的语法错误而无声地失败。我们使用deliver_later
发送消息
当它最终被发现并修复时,所有失败的旧消息都被重新尝试然后传递。这些是时间敏感的消息,不应该重试。
我似乎无法找到办法.deliver_later(retry: false)
使用deliver_now
来解决此问题?
我使用delayed_job作为我的消息队列。
答案 0 :(得分: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
)