3

如何使用 activeMailer 和禁用重试deliver_later

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

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

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

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

4

1 回答 1

3

ActiveJob 不会触及适配器的重试设置(https://github.com/rails/rails/blob/master/activejob/lib/active_job/queue_adapters/delayed_job_adapter.rb)。Delayed::Worker.max_attempts = 4如果您完全禁用 DJ ( )中的重试机制,您可以获得的唯一方法

于 2015-10-28T20:34:09.577 回答