module Resque::Failure
def self.all(offset = 0, limit = 1, queue = nil)
`offset` is the int of the first item in the page, `limit` is the
Returns an array of all the failures, paginated.
def self.all(offset = 0, limit = 1, queue = nil) backend.all(offset, limit, queue) end
def self.backend
Returns the current backend class. If none has been set, falls
def self.backend return @backend if @backend case ENV['FAILURE_BACKEND'] when 'redis_multi_queue' require 'resque/failure/redis_multi_queue' @backend = Failure::RedisMultiQueue when 'redis', nil require 'resque/failure/redis' @backend = Failure::Redis else raise ArgumentError, "invalid failure backend: #{FAILURE_BACKEND}" end end
def self.backend=(backend)
require 'resque/failure/airbrake'
Example use:
`Resque::Failure::Base`.
Sets the current backend. Expects a class descendent of
def self.backend=(backend) @backend = backend end
def self.clear(queue = nil)
def self.clear(queue = nil) backend.clear(queue) end
def self.clear_retried
def self.clear_retried each do |index, job| remove(index) unless job['retried_at'].nil? end end
def self.count(queue = nil, class_name = nil)
def self.count(queue = nil, class_name = nil) backend.count(queue, class_name) end
def self.create(options = {})
:queue - The string name of the queue from which the job was pulled
:worker - The Worker object who is reporting the failure
:exception - The Exception object
Expects a hash with the following keys:
Creates a new failure, which is delegated to the appropriate backend.
def self.create(options = {}) backend.new(*options.values_at(:exception, :worker, :queue, :payload)).save end
def self.each(offset = 0, limit = self.count, queue = nil, class_name = nil, order = 'desc', &block)
def self.each(offset = 0, limit = self.count, queue = nil, class_name = nil, order = 'desc', &block) backend.each(offset, limit, queue, class_name, order, &block) end
def self.failure_queue_name(job_queue_name)
def self.failure_queue_name(job_queue_name) name = "#{job_queue_name}_failed" Resque.data_store.add_failed_queue(name) name end
def self.job_queue_name(failure_queue_name)
def self.job_queue_name(failure_queue_name) failure_queue_name.sub(/_failed$/, '') end
def self.queues
def self.queues backend.queues end
def self.remove(id, queue = nil)
def self.remove(id, queue = nil) backend.remove(id, queue) end
def self.remove_queue(queue)
Removes all failed jobs in a specific queue.
def self.remove_queue(queue) backend.remove_queue(queue) end
def self.requeue(id, queue = nil)
def self.requeue(id, queue = nil) backend.requeue(id, queue) end
def self.requeue_all
def self.requeue_all backend.requeue_all end
def self.requeue_queue(queue)
Requeues all failed jobs in a specific queue.
def self.requeue_queue(queue) backend.requeue_queue(queue) end
def self.url
def self.url backend.url end