您是否有可能在开发过程中同时运行多个Resque工作人员?我发现了这段代码,但不确定它是否会起作用以及如何...
到目前为止,我正在使用标准
bundle exec env rake resque:work QUEUE='*'
redis-server /usr/local/etc/redis.conf
答案 0 :(得分:39)
您需要添加COUNT
环境变量,然后将resque:work
更改为resque:workers
。例如,要启动3名工人:
bundle exec env rake resque:workers QUEUE='*' COUNT='3'
答案 1 :(得分:13)
我知道如何做到这一点的唯一方法,我认为这是一个很好的方式,它使用Foreman(与heroku使用的相同)。
您可以在名为 Procfile 的文件中定义您的流程,例如:
web: bundle exec thin start -p $PORT
worker: bundle exec rake resque:work QUEUE=*
clock: bundle exec rake resque:scheduler
然后你可以用一个命令启动你的应用程序
foreman start
要启动一种类型的多个进程,就像这样:
foreman start -c worker=2
https://github.com/ddollar/foreman
http://blog.daviddollar.org/2011/05/06/introducing-foreman.html