ruby-on-rails - 为 delayed_job 设置 MAX_RUN_TIME - 我可以设置多少时间?

标签 ruby-on-rails ruby delayed-job

默认值为 4 小时。当我运行要处理的数据时,收到此错误消息:

E, [2014-08-15T06:49:57.821145 #17238] ERROR -- : 2014-08-15T06:49:57+0000: [Worker(delayed_job host:app-name pid:17238)] Job ImportJob (id=8) FAILED (1 prior attempts) with Delayed::WorkerTimeout: execution expired (Delayed::Worker.max_run_time is only 14400 seconds)
I, [2014-08-15T06:49:57.830621 #17238]  INFO -- : 2014-08-15T06:49:57+0000: [Worker(delayed_job host:app-name pid:17238)] 1 jobs processed at 0.0001 j/s, 1 failed

这意味着当前限制设置为 4 小时。

因为我有大量数据要处理,可能需要 40 或 80 个小时才能处理,所以我很好奇是否可以为 MAX_RUN_TIME 设置这个小时数。

设置 100 小时的 MAX_RUN_TIME 是否有任何限制或负面影响?或者,有没有其他方法可以处理这些数据?

编辑:有没有办法在无穷大值上设置MAX_RUN_TIME

最佳答案

似乎没有办法将 MAX_RUN_TIME 设置为无穷大,但您可以将其设置得非常高。要配置最大运行时间,请将设置添加到 delayed_job 初始化程序(config/initializers/delayed_job_config.rb 默认情况下):

Delayed::Worker.max_run_time = 7.days

关于ruby-on-rails - 为 delayed_job 设置 MAX_RUN_TIME - 我可以设置多少时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25325102/

相关文章:

ruby-on-rails - 设计注册表单的路线

ruby-on-rails - 如何防止 Internet Explorer 中的安全警告?

ruby-on-rails - Rails 延迟作业和 docker : adding more workers

ruby-on-rails - Delayed_job : NoMethodError: undefined method `my_method_without_delay'

ruby-on-rails - 在 Rails 中实现具有灵活深度的类别和子类别的最佳方法?

javascript - 如何在 JavaScript 中访问实例变量?

ruby-on-rails - 在这种情况下求助于 send() 是一种好习惯吗?

ruby-on-rails - 如何将 Rails #update_attribute 与数组字段一起使用?

ruby-on-rails - Rails 如何在开发模式和生产模式之间切换?

ruby-on-rails - 如何访问事件作业中的延迟作业实例 - Rails 4.2