2013-10-31 57 views
6

我有幾個進程當前作爲rake任務運行。我能以某種方式使用Sidekiq以連續循環執行進程嗎?這是Sidekiq的最佳做法嗎?我可以使用Sidekiq進行連續過程嗎?

這些進程雖然在後臺在各自rake任務的連續循環中運行,但有時會失敗。然後我必須重新啓動rake任務。

我想在SO社區的幫助下有幾個選擇。一個是要弄清楚如何使用monit來監控rake任務。但這意味着每個進程都必須有自己的環境,增加服務器負載。由於我在虛擬化環境中運行,因此我想盡可能消除這種情況。

另一種選擇只是利用我已有的Sidekiq選項。我現在使用Sidekiq進行後臺處理,但它總是一次性的。有什麼方法可以在Sidekiq中持續進行?並且還會通知故障並使過程自動重啓?

+0

檢查提問者是否可以爲此回答這個問題,因爲它已經有幾個月了? – tentimes

+0

你有沒有得到這個解決方案?我喜歡類似的解決方案 – jamesc

回答

2

每位Sidekiq作者Mike Perham的答案是使用cron作業來處理這樣的計劃任務。您可以創建一個rake任務,該任務將作業提交到Sidekiq以在後臺運行。然後創建一個cron作業來安排它。

1

我不知道你爲什麼要去sideki,這個項目是否具體?以前我面臨同樣的問題,但我已經遷移到了delayed_job,它滿足了我的需求。如果活動記錄對象是交易使用delayed_job否則去resque它也是一個不錯的。

+1

大多數人已經遷移到Sidekiq,因爲它不需要啓動整個Rails環境,並且可以同時運行大量的作業,同時承擔很少的系統開銷。 – AKWF

相關問題