任何与Windows上部署的JRuby一起使用的后台进程gem?

时间:2012-03-05 04:22:10

标签: ruby-on-rails jruby

有没有人知道部署在Windows服务器上的JRuby的后台作业解决方案? (通过鸣鸟和雄猫)

我正在寻找一种方法来安排我的Rails 3.2应用程序中的后台作业,以便Web应用程序可以立即响应,而不是在长时间运行的作业运行时挂断。

我尝试了delayed_job gem,不过它似乎不适用于JRuby和Windows。 (如果我错了,请赐教)Resque依赖于redis,显然不支持Windows。我没有使用Beanstalkd或Starling的经验,但是他们的文档没有提到windows。

我很喜欢转储窗户,相信我,但后台工作是一个没有源代码的Windows可执行文件。我需要使用JRuby来调用一些Java代码。

2 个答案:

答案 0 :(得分:4)

使用jruby-rack-worker gem http://github.com/kares/jruby-rack-worker解决了这个问题,让你使用delayed_job来安排作业,只是提供了一种不同的方式来启动更多JRuby / Warbler / Tomcat友好的工作进程。 / p>

答案 1 :(得分:3)

我们为此目的使用Rufus Scheduler。调度程序配置位于初始化程序文件中,如下所示:

scheduler = Rufus::Scheduler.start_new  
scheduler.every('1d') do
  puts "I run once every day"
end

scheduler.every '3h' do
  puts "I run every 3 hours"
end