如何让Delayed_Job任务因“执行过期”而失败

时间:2011-02-09 15:57:12

标签: ruby-on-rails delayed-job

我认为因为它是后台进程,所以不会有任何超时。我使用delayed_job在后台运行报告。非常大,长时间运行的报告因此消息失败。

我正在使用Phusion Passenger在Apache2上运行Rails 2.3.5。

1 个答案:

答案 0 :(得分:11)

来自delayed_jobs faq wiki page on github

# config/initializers/delayed_job_config.rb
Delayed::Job.destroy_failed_jobs = false
silence_warnings do
  Delayed::Job.const_set("MAX_ATTEMPTS", 3)
  Delayed::Job.const_set("MAX_RUN_TIME", 5.minutes)
end

您正在寻求增加MAX_RUN_TIME。默认值为4小时,因此您可能希望将其设置为6.hours或更长时间。它应该是您认为工作应该采用的最长,但这显然是应用/工作特定的,您可能知道可接受的最长时间是什么。