2011-03-18 44 views
5

我有一個應用程序,我正在從Ruby遷移到JRuby(由於需要通過Java提供更好的Web服務安全支持)。我使用的其中一個寶石是daemons來創建後臺作業。Ruby守護進程和JRuby - 替代選項

問題是,它使用fork + exec來創建後臺進程,但這是JRuby的禁忌。

所以 - 是否有創建後臺作業的替代寶石/包裝?

我現在的想法是隻要調用一個shell腳本耙,讓rake任務運行永遠...

在此先感謝,克里斯。

UPDATE 我們目前使用的一對夫婦的Java線程的相關包裝,即https://github.com/jmettraux/rufus-schedulerhttps://github.com/philostler/acts_as_executor

回答

3

由於您不能分叉JRuby,因此基本上必須重構守護程序代碼,以便可以將守護程序作爲標準前臺應用程序執行,然後創建一個單獨的守護程序啓動程序來運行和監視守護程序。您可以查看spoon並查看gist這個使用勺子來創建更精細的啓動器。另外jruby-jsvc提供了使用JRuby守護進程使用jsvc的膠水。

+0

謝謝 - 這些看起來很有趣。 – 2011-04-09 06:37:10

+0

我試着用勺子做一些事情,但最後它不值得爲ruby(速度)開銷,我只是用了一個bash腳本,它似乎目前工作得很好。 – mrbrdo 2013-07-11 00:32:38

3

您可能會感興趣http://torquebox.org/它包括調度。

+0

狡猾 - 我已經忘記了這一點。謝謝。 – 2011-03-18 13:51:40

2

我創建了一個簡單創建Ruby的gem & JRuby守護進程:raad(Ruby作爲守護進程)。它與MRI Ruby或JRuby相同,簡單,輕便,透明。