Skip to content

ilyakatz/resque-history

Repository files navigation

Resque History

alt build status Dependency Status Code Climate Gem Version

A Resque plugin. Requires Resque

resque-history adds functionality record recently history of job executions

Usage / Examples

Single Job Instance

    require 'resque-history'

    class UpdateNetworkGraph
      extend Resque::Plugins::History
      @queue = :network_graph

      def self.perform(some_id)
        do_stuff(some_id)
      end
    end

Job History

By default resque-history stores 500 history items on redis, but if you want to store less items, assign @max_history in the job class.

    require 'resque-history'

    class UpdateNetworkGraph
      extend Resque::Plugins::History
      @queue = :network_graph
      @max_history = 50 # max number of histories to be kept

      def self.perform(some_id)
        do_stuff(some_id)
      end
    end

3rd Party classes

If you want to use resque history with 3rd party resque jobs, extended the classes that you want to be recorded in history

[
    CarrierWave::Workers::ProcessAsset,
    CarrierWave::Workers::StoreAsset,
    ActionMailer::DeliveryMethods
].each do |klazz|
  klazz.class_eval do
    extend Resque::Plugins::History
  end
end

Resque-Web integration

'History' tab in resque web GUI

Resque History GUI

Install

Add to your Gemfile

$ gem "resque-history"

Add to routes.rb file

require 'resque-history/server'