默认值为 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/