【发布时间】:2021-02-21 18:32:09
【问题描述】:
我不希望当前工作在失败时放弃工作。我希望有机会修复故障,然后让它们重新运行。我试过这样做:
class ApplicationJob < ActiveJob::Base
retry_on Exception, attempts: Float::INFINITY
end
但它没有工作。电子邮件作业失败并被丢弃。我使用delayed_job 作为实现。
有什么办法吗?
【问题讨论】:
-
看起来它应该可以工作:github.com/rails/rails/blob/…你有什么错误吗?
-
你用什么适配器?
-
@HubertJakubiak:我的 SMTP 配置错误,一次尝试后作业就会被丢弃。
-
@HubertJakubiak:我正在使用延迟工作。
-
“电子邮件作业失败” 问题可能是电子邮件作业不使用 ApplicationJob,因此您的代码没有影响它们。您的代码可能会以其他方式工作,只是不适用于电子邮件工作。
标签: ruby-on-rails ruby-on-rails-6 rails-activejob