我在Rails上使用JRuby 1.5.6來構建自己的應用程序,它將定期離開並檢索我訂閱的任何RSS Podcast。jruby on rails調度選項
我選擇JRuby的原因主要是因爲我熟悉Java,希望利用Rails框架,最重要的是,當Ruby不符合我的要求時,我能夠在Java中執行「繁重」任務。到目前爲止(我還處於開發的早期階段),這種混合方法一直非常成功。
我現在正處於需要將定期和長時間運行任務安排到後臺進程的時間點。我的要求是擁有一個數據庫支持的調度系統,理想情況下,這些系統是有據可查的,目前維護和清潔。
我現在的問題是,經過多天的研究,找到適合自己封裝的解決方案,我似乎留下了很少的選擇,因爲我使用了JRuby。
一些我試過的寶石......
魯弗斯調度
曾使用此之前,我很高興與它的界面和文檔,但還缺乏數據庫持久性的,因此成爲我的要求的破產者。
delayed_job的
我的理想解決方案將是delayed_job的。但是,由於ObjectSpace被關閉(我們可以通過重新啓用來解決這個問題),但是由於仍然在維護和數據庫支持的良好文檔,在JRuby下會中斷,但更嚴重的是,對守護進程的依賴gem拋出一個「fork是不安全的並且被禁用默認情況下在JRuby上「由於JRuby實現中的限制而出現錯誤。
在github上有一個不依賴於守護進程的fork,但是我不開心切換到主開發分支的一個fork,我仍然留下ObjectSpace問題,我不確定至於它的性能影響。
石英jruby的
雖然已經有各種石英基於寶石之前,this very recent offering是提供一種光滑的紅寶石狀接口的另一嘗試。然而,有很少的文檔,我不確定如果這可以數據庫支持,我的直覺是它不是。
問題
雖然我只強調3個選項在這裏,我知道有其他人可用。然而,我卻找不到解決方案來打勾所有3個需求框(文檔,維護,數據庫支持)。
所以這個問題......
任何人都有過這種情況,並提出了一個解決方案?
有沒有人設法讓delayed_job以任何形式工作?
有沒有更好的解決方案在那裏,我忽略並滿足我的需求?
**更新**我認爲值得發佈我決定使用JRuby的最終解決方案,現在在1.7.2。我目前的設置使用Sidekiq和發條。它已被證明是一個可靠的長期解決方案 – 2013-01-22 01:06:29