deliver_later 没有重试

deliver_later with no retry

如何禁用 activeMailer 和 deliver_later 的重试?

我最近 运行 遇到一个问题,我的一个邮件程序方法由于视图中的语法错误而静默失败。我们正在使用 deliver_later 发送消息

当它最终被发现并修复时,所有失败的旧消息都被重新尝试发送。这些是时间敏感的消息,不应重试。

我似乎找不到任何方法来做类似 .deliver_later(retry: false) 的事情 deliver_now 可以解决这个问题吗?

我正在使用 delayed_job 作为我的消息队列。

ActiveJob 不触及适配器的重试设置 (https://github.com/rails/rails/blob/master/activejob/lib/active_job/queue_adapters/delayed_job_adapter.rb)。如果您完全禁用 DJ (Delayed::Worker.max_attempts = 4)

中的重试机制,您唯一可以获得的方法