Lui*_* R. 5 java rake tomcat jruby resque
目前我们在JRuby中使用Resque,我们在开发时使用两种方式启动Worker.
QUEUE=* jruby -J-cp /path/to/library -S rake environment resque:workRun Code Online (Sandbox Code Playgroud)
def start
@worker = Resque::Worker.new(@queues)
@worker.verbose = @vervose
@worker.work(@interval)
end
def stop
@worker.try(:shutdown)
end
Run Code Online (Sandbox Code Playgroud)
虽然这两种解决方案都适合我们开发.我担心在部署到Tomcat时这将如何工作.
在Ruby中,通常会产生或妖魔化工作者,然后使用监视工具来监视pid.
在部署时以编程方式启动Workers是否有意义?我想知道它是否在java中启动一个新线程或者混乱了jruby进程,如果不是我应该使用,还有另一个像quartz这样的调度库来启动一个worker?或者在部署任务中启动的rake任务?
我可以创建一个Worker模型,然后跟踪数据库中的worker,但这对我没有意义.
任何帮助或知识将不胜感激.
谢谢.
参考文献:
https://github.com/defunkt/resque
http://rubydoc.info/github/defunkt/resque/master/Resque/
http://blog.thomasmango.com/post/636319317/resque-in-production
使用rake resque:work将引导您的 Rails 环境并启动一个工作程序,该工作程序轮询作业,将自己分叉到一个(子)工作程序进程中,处理该作业然后退出。
如果您想运行多个工作程序,请使用该COUNT变量:
QUEUE=* COUNT=5 jruby -J-cp /path/to/library -S rake environment resque:work
这方面的哪些方面将部署到 Tomcat?这都是命令行。
| 归档时间: |
|
| 查看次数: |
1358 次 |
| 最近记录: |