我有一个应用程序,我从Ruby迁移到JRuby(由于需要通过Java提供更好的Web服务安全性支持).我使用的一个宝石是用于创建后台作业的守护进程.
问题是它使用fork + exec来创建后台进程,但这对JRuby来说是禁忌.
那么 - 是否有用于创建后台作业的替代gem/wrapper?
我目前的想法是从shell脚本调用rake并让rake任务永远运行...
谢谢,克里斯.
更新我们目前正在使用几个与Java线程相关的包装器,即https://github.com/jmettraux/rufus-scheduler和https://github.com/philostler/acts_as_executor
由于您无法在 JRuby 中进行分叉,因此您基本上必须重构守护程序代码,以便守护程序可以作为标准前台应用程序执行,然后创建一个单独的守护程序启动器来运行守护程序并在后台运行该守护程序。您可以查看Spoon并检查这个要点,它使用 Spoon 来创建更精致的启动器。jruby-jsvc还提供了将jsvc与 JRuby 守护程序一起使用的粘合剂。