我正在尝试将rails应用程序转换为jruby on rails。目前,jruby script/delayed_job run
给出:
/usr/lib/jruby/lib/ruby/gems/1.8/gems/delayed_job-2.0.3/lib/delayed/command.rb:50:in `each_object': ObjectSpace is disabled; each_object will only work with Class, pass -X+O to enable (RuntimeError)
from /usr/lib/jruby/lib/ruby/gems/1.8/gems/delayed_job-2.0.3/lib/delayed/command.rb:50:in `daemonize'
from script/delayed_job:5
jruby有没有像delayed_job这样的宝石?
答案 0 :(得分:2)
对于记录,在部署到Servlet容器时,可以使用https://github.com/kares/jruby-rack-worker作为Delayed::Job
应用程序的一部分在单独的本机(守护程序)线程中运行JRuby::Rack
... < / p>
答案 1 :(得分:1)
我不知道delayed_job使用了ObjectSpace
Jruby默认禁用它,我不知道性能影响
使用-x + O启用它。
如果您需要处理简单和很少的工作,您应该考虑BackgrounDRB
如果你需要扩展的东西,你应该看看Workling / Starling。
答案 2 :(得分:1)
我有同样的问题。最后我决定使用Resque,我最初拒绝使用它,因为我觉得它会有点矫枉过正。您还有另一个要安装的活动部件,Redis ......
然而,最终结果很容易设置并且非常灵活。我现在很高兴我试一试。