Resque plugin that understands individual jobs can belong to something bigger than themselves
Ruby
Latest commit 28ae0a0 Jun 22, 2015 @drfeelngood v1.9.0
Permalink
Failed to load latest commit information.
example
lib
test
.gitignore
.travis.yml Updated travis-ci configuration. Jan 19, 2015
Gemfile
LICENSE
README.md
Rakefile
resque-batched-job.gemspec

README.md

Resque Batched Job Build Status

A Resque plugin. Requires Resque >= 1.10.0

This plugin adds the ability to batch jobs and run additional hooks after the last job in a batch is performed. Using the 'after_enqueue' hook, the job is encoded and stored in a Redis List identified by the batch id provided. By default, the batch keys look like 'batch:#{id}'. After each job is performed, it's removed from the batch list. If the last job performed happens to be the last in the list, additional hooks are executed. These hooks are prefixed with 'after_batch'.

Installation

$ gem install resque-batched-job

Example

require 'resque/batched_job'

module Job
  extend Resque::Plugins::BatchedJob

  def self.perform(bid, *args)
    prime(bid, args)
  end

  def self.after_batch_heavy_lifting(bid, *args)
    heavy_lifting(bid)
  end

end