2
votes

On my local machine I can do

QUEUES=a,b,c,d rake resque:work

And it processes those queues in that order. However, on Heroku Cedar I add this to my procfile:

worker: QUEUES=a,b,c,d exec bundle exec rake resque:work

And it crashes the app on deploy. I'm probably missing something dumb, but I'm stumped.

PS I prefix the command with exec because of a bug with resque not properly decrementing the worker count.

1
are you using this branch gem 'resque', :git => 'http://github.com/hone/resque.git', :branch => 'keepalive' of resque when you deploy? - John Beynon
do you get any errors at all, either in console, or is the logs? - Neil Middleton
Getting an error: Error: No such file or directory - - JBlake

1 Answers

4
votes

You shouldn't need the initial exec. The entry should look like this:

worker: bundle exec rake resque:work QUEUE=a,b,c,d

Use @hone's fork to properly clean up workers when they quit. In your Gemfile:

gem 'resque', git: 'https://github.com/hone/resque.git', branch: 'heroku', require: 'resque/server'