16

嗨,是否可以在开发中同时运行多个 Resque 工作人员?我找到了这段代码,但不确定它是否会起作用以及如何..

http://pastebin.com/9GKk8GwR

到目前为止,我正在使用标准

bundle exec env rake resque:work QUEUE='*'

redis-server /usr/local/etc/redis.conf
4

2 回答 2

42

您需要添加一个COUNT环境变量,然后更改resque:workresque:workers. 例如,要启动 3 个工人:

bundle exec env rake resque:workers QUEUE='*' COUNT='3'
于 2012-05-03T03:07:30.207 回答
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

于 2012-05-03T02:36:10.020 回答