Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Resque multiple workers in development mode

Hi is it possible to run multiple Resque workers simultaneously in development? I found this bit of code, but not sure if it will work and how..

http://pastebin.com/9GKk8GwR

So far I am using the standard

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

redis-server /usr/local/etc/redis.conf
like image 847
Stpn Avatar asked May 03 '12 01:05

Stpn


2 Answers

You need to add a COUNT environment variable and then change resque:work to resque:workers. For example, to start 3 workers:

bundle exec env rake resque:workers QUEUE='*' COUNT='3'
like image 103
Dylan Markow Avatar answered Nov 11 '22 21:11

Dylan Markow


The only way I know how to do that, and I think it's a great way, it's using Foreman (same thing that heroku uses).

You define your processes in a file named Procfile like:

web:    bundle exec thin start -p $PORT
worker: bundle exec rake resque:work QUEUE=*
clock:  bundle exec rake resque:scheduler

And then you can start your app with just one command

foreman start

To start more than one process of one type it's like this:

foreman start -c worker=2

https://github.com/ddollar/foreman

http://blog.daviddollar.org/2011/05/06/introducing-foreman.html

like image 45
Ismael Avatar answered Nov 11 '22 22:11

Ismael