2015-03-18 21 views
2

我正在使用Rails/Delayed Jobs,在Heroku上使用Rails 4.1。我注意到我的工作需要1秒到10秒才能真正開始。一旦他們開始,他們跑得很快。我如何加速我的Rails DelayedJobs的開始時間?

我該如何加快速度?

我打電話給他們my_thing.delay.run!

我確實還有其他一些正在進行的工作,但並沒有那麼多,所以似乎並不是這個原因。它看起來像是檢查運行作業的頻率有點遲鈍。

+0

我相信延遲工作使用輪詢來找到工作運行。也許有輪詢間隔的配置? – 2015-03-18 22:57:38

回答

2

我想你想配置Delayed::Worker.sleep_delay這是暗示在延遲作業README。如果延遲的工作找不到工作,那麼在再次查看之前它會睡幾秒鐘。默認的睡眠時間爲5秒。

因此,您可以在config/initializers/delayed_job.rb中設置以下內容,以便在待處理作業的查詢之間只休眠2秒鐘。

Delayed::Worker.sleep_delay = 2 

很顯然,當沒有任何事情發生時,權衡是更頻繁的職位投票。

此外,如果您不是延遲工作,那麼您可能會發現resque或特別sidekiq可能會比延遲工作更快地處理您的工作。

相關問題