Ruby守护进程和JRuby – 替代选项

我有一个应用程序,我从Ruby迁移到JRuby(由于需要通过Java提供更好的Web服务安全支持)。 我使用的一个gem是用于创建后台作业的守护进程 。

问题是它使用fork + exec来创建后台进程,但这对JRuby来说是禁忌。

那么 – 是否有用于创建后台作业的替代gem / wrapper?

我目前的想法是从shell脚本调用rake并让rake任务永远运行…

谢谢,克里斯。

更新我们目前正在使用几个与Java线程相关的包装器,即https://github.com/jmettraux/rufus-scheduler和https://github.com/philostler/acts_as_executor

由于您无法在JRuby中进行派生,因此您基本上不得不重构您的守护程序代码,以便守护程序可以作为标准前台应用程序执行,然后创建一个单独的守护程序启动程序,它将运行并为守护程序提供后台。 你可以看看勺子 ,还可以检查一下使用勺子制作更精致的发射器的要点 。 此外, jruby-jsvc提供了使用jsvc和JRuby守护进程的粘合剂 。

您可能对http://torquebox.org/感兴趣,它包括日程安排。

Charles Nutter还有一个名为Spoon的替代品。 请访问他的博客http://blog.headius.com/2009/05/fork-and-exec-on-jvm-jruby-to-rescue.html和gist https://gist.github.com/321084例。

我为轻松创建Ruby和JRuby守护进程创建了一个gem: raad (Ruby作为守护进程)。 它与MRI Ruby或JRuby完全相同,简单,轻便,透明。