Works with Resque 1.8.5
Resque::Plugins::Batchworker is an alternative to the standard Worker class.
This class works by forking X children, which all work until there are no more jobs to run, and then all of the children quit. Note that the traditional Worker will fork for every single job. This class will not do that. Keep that in mind.
This was written for a situation where hundreds of thousands of jobs get queued throughout the day but ONLY wanted them to be processed during off-peak hours (i.e. middle of the night)
To use Batchworker, run this:
require 'resque/plugins/batchworker' Resque::Plugins::Batchworker.initiate_work NUMBER_OF_PROCESSES, QUEUE_NAME
Thanks to Facilities Technology Group for allowing this code to be released publicly.
-
Fork the project.
-
Make your feature addition or bug fix.
-
Add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
-
Send me a pull request. Bonus points for topic branches.
Copyright © 2010 Ian Warshak. See LICENSE for details.