有没有人知道部署在Windows服务器上的JRuby的后台作业解决方案? (通过鸣鸟和雄猫)
我正在寻找一种方法来安排我的Rails 3.2应用程序中的后台作业,以便Web应用程序可以立即响应,而不是在长时间运行的作业运行时挂断。
我尝试了delayed_job gem,不过它似乎不适用于JRuby和Windows。 (如果我错了,请赐教)Resque依赖于redis,显然不支持Windows。我没有使用Beanstalkd或Starling的经验,但是他们的文档没有提到windows。
我很喜欢转储窗户,相信我,但后台工作是一个没有源代码的Windows可执行文件。我需要使用JRuby来调用一些Java代码。
答案 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