标签: ruby-on-rails performance heroku delayed-job
我正在使用Rails /延迟作业,在Heroku上使用Rails 4.1。我注意到我的工作需要1秒到10秒才能真正启动。一旦他们开始,他们跑得很快。
我怎样才能加快速度?
我用my_thing.delay.run打电话给他们!
我还有其他正在进行的工作,但其中并没有那么多,所以看起来并不是原因。它看起来经常工作的频率似乎很低落。
答案 0 :(得分:2)
我认为您要配置Delayed::Worker.sleep_delay,这是在延迟作业README中暗示的。如果延迟工作找不到工作,那么它会在再看一次之前睡了好几秒钟。默认睡眠时间为5秒。
Delayed::Worker.sleep_delay
因此,您可以在config/initializers/delayed_job.rb中将以下内容设置为仅在对待处理作业的查询之间休眠2秒。
config/initializers/delayed_job.rb
Delayed::Worker.sleep_delay = 2
显然,在没有任何进展的情况下,权衡更为频繁的就业机会。
此外,如果您不再坚持延迟工作,那么您可能会发现resque或特别是sidekiq可能会比延迟工作更快地处理您的工作。