A plugin for Resque that implements round-robin behavior for workers.
The standard behavior for Resque workers is to pull a job off a queue, and continue until the queue is empty. Once empty, the worker moves on to the next queue (if available).
For our situation, which is probably pretty rare in rails deployments, we have multiple customers who submit jobs to resque, and we need to keep the jobs of one customer from starving out other customers.
Using resque-dynamic-queues in conjunction with this gem, we are able to support this requirement of fairness, where not more than one worker will process each customers job.
Add this line to your application's Gemfile:
gem 'resque-round-robin'
And then execute:
$ bundle
TODO: Write usage instructions here
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request