【发布时间】:2023-03-24 07:10:01
【问题描述】:
延迟工作很棒,但我想将其计时器间隔更改为更频繁(每 2 秒)以满足我的特殊需要。
是否有任何配置或硬编码可以更改它?
【问题讨论】:
-
您应该接受答案以给予善良的回答者信用。
标签: ruby-on-rails-3 delayed-job
延迟工作很棒,但我想将其计时器间隔更改为更频繁(每 2 秒)以满足我的特殊需要。
是否有任何配置或硬编码可以更改它?
【问题讨论】:
标签: ruby-on-rails-3 delayed-job
好的,只要去RAILS_ROOT/vendor/plugins/delayed_job/lib/delayed/worker.rb,找行
self.sleep_delay = 5
并将其更改为
self.sleep_delay = 2
或任何你想要的
在早期版本的 DJ 上,我将其设置为低至 0.1,以便队列中的作业几乎立即被拾取进行处理,并且运行良好。
【讨论】:
尝试设置
Delayed::Worker.const_set("SLEEP", 2)
在您的 config/initializers/delayed_job_config.rb 文件中。
【讨论】:
使用 DJ 3.0,您可以将其添加到 config/initializers/delayed_job_config.rb 文件中:
Delayed::Worker.sleep_delay = 2
【讨论】:
Delayed::Worker.sleep_delay = ENV['DELAYED_WORKER_SLEEP_DELAY'] || Delayed::Worker.sleep_delay 添加到config/initializers/delayed_job_config.rb 以便能够通过环境变量控制延迟(在development 我将轮询频率降低到60 秒;在@987654327 @ 和 production 我什至没有设置它,从而保持默认值 5 秒)。