嗨,开发环境下是否可能同时运行多个Resque worker?我找到了这段代码,但不确定它是否能正常工作以及如何操作。
到目前为止,我使用的是标准的
bundle exec env rake resque:work QUEUE='*'
redis-server /usr/local/etc/redis.conf
嗨,开发环境下是否可能同时运行多个Resque worker?我找到了这段代码,但不确定它是否能正常工作以及如何操作。
到目前为止,我使用的是标准的
bundle exec env rake resque:work QUEUE='*'
redis-server /usr/local/etc/redis.conf
COUNT
的环境变量,然后将resque:work
更改为resque:workers
。例如,要启动3个工作者:bundle exec env rake resque:workers QUEUE='*' COUNT='3'
我唯一知道的一种方法,并且我认为这是一个很好的方法,就是使用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
foreman start -c web=1,worker=2
。 - Ilya Scharrenbroich