This version of Resque is built specifically for Plinq as a replacement for Delayed::Job. It works exactly like Resque works, except that, behind-the-scenes, it uses ordered sets instead of lists in Redis.
This enables some neat functionality, most notably a
for delaying jobs. Plinq-flavored Resque workers will not run any jobs whose
enqueue_at time hasn't passed yet. See, it's simple:
Resque.enqueue_at(5.minutes.from_now, :default_queue, Everything, :else)
... and even if you have workers running, this baby won't run for another five minutes.
The result of this is that you need to make sure you require our version of Resque instead of using the installation instructions that come with the original. Best bet (for now) is to add this to your Gemfile:
gem 'resque', :git => 'https://github.com/Plinq/resque.git'
Not Invented Here?
"Why," you may ask, "do you not just use one of the delayed Resque plugins?"
It's a simple answer: they require additional worker processes. This is not a good solution for us; we'd much rather support delayed processes natively (which it turns out isn't that hard, because Resque is really well built).
Short version: adding another process increases complexity, especially at deploy time. So screw that.
Please visit http://github.com/defunkt/resque for information about the how and why of Resque.