我需要一個隊列系統,併爲Ruby on Rails應用程序提供調度支持。這是安排在某個特定時間運行的工作。它也可以修改爲遲早運行,或從隊列中移除。帶調度支持的簡單隊列系統
我在考慮使用Sidekiq,但由於我使用的是PostgreSQL數據庫,我在看queue_classic,但它似乎沒有調度支持。
哪一個是可以處理定時器的簡單系統?
我需要一個隊列系統,併爲Ruby on Rails應用程序提供調度支持。這是安排在某個特定時間運行的工作。它也可以修改爲遲早運行,或從隊列中移除。帶調度支持的簡單隊列系統
我在考慮使用Sidekiq,但由於我使用的是PostgreSQL數據庫,我在看queue_classic,但它似乎沒有調度支持。
哪一個是可以處理定時器的簡單系統?
我會建議sidekiq。它使用多線程Actor Framework Celluloid並同時運行多個後臺作業。這不是一個選項,如果你想要一個排序作業的順序執行順序
退房延遲工作,它使雙方的排隊和調度
https://github.com/collectiveidea/delayed_job
例
# with delayed_job running at a specific time
Notifier.delay(run_at: 5.minutes.from_now).signup(@user)
你也可以看看https://github.com/javan/whenever設立cron作業。
還爲這些寶石的railscasts發作(需要訂閱): http://railscasts.com/episodes/164-cron-in-ruby-revised http://railscasts.com/episodes/164-cron-in-ruby-revised
我已經使用Delayed_Job +每當一個大項目,我遇到的問題沒有被執行的任務。只需重新啓動Delayed_Job即可解決問題,但它發生了很多次,所以對我來說不可靠。檢查他們的Github問題頁面,此時他們有近200個未解決的問題! –
對於一個活動項目,這是極其正常的 –
而且無論如何,你應該也使用一些像monit這樣的進程監視守護進程。我們實際上也會遇到延遲工作崩潰,但它只是由monit重新啓動 –
Delayed_Job + monit或Sidekiq的開銷如何? –
也會使用monit和sidekiq。所以沒有太多的開銷。 –