Module: Resque::Failure
- Defined in:
- lib/resque/failure.rb,
lib/resque/failure/base.rb,
lib/resque/failure/mongo.rb,
lib/resque/failure/redis.rb,
lib/resque/failure/hoptoad.rb,
lib/resque/failure/multiple.rb
Overview
The Failure module provides an interface for working with different failure backends.
You can use it to query the failure backend without knowing which specific backend is being used. For instance, the Resque web app uses it to display stats and other information.
Defined Under Namespace
Classes: Base, Hoptoad, Mongo, Multiple, Redis
Class Method Summary collapse
-
.all(start = 0, count = 1) ⇒ Object
Returns an array of all the failures, paginated.
-
.backend ⇒ Object
Returns the current backend class.
-
.backend=(backend) ⇒ Object
Sets the current backend.
-
.clear ⇒ Object
Clear all failure jobs.
-
.count ⇒ Object
Returns the int count of how many failures we have seen.
-
.create(options = {}) ⇒ Object
Creates a new failure, which is delegated to the appropriate backend.
- .remove(index) ⇒ Object
- .requeue(index) ⇒ Object
-
.search_count ⇒ Object
Returns the int count of the number of results for the last search executed.
-
.search_results(query, start = 0, count = 1) ⇒ Object
Will hold the last count - start results of a search through all the failed jobs, using the query string ‘query’.
-
.url ⇒ Object
The string url of the backend’s web interface, if any.
Class Method Details
.all(start = 0, count = 1) ⇒ Object
Returns an array of all the failures, paginated.
‘start` is the int of the first item in the page, `count` is the number of items to return.
53 54 55 |
# File 'lib/resque/failure.rb', line 53 def self.all(start = 0, count = 1) backend.all(start, count) end |
.backend ⇒ Object
Returns the current backend class. If none has been set, falls back to ‘Resque::Failure::Redis`
33 34 35 36 37 |
# File 'lib/resque/failure.rb', line 33 def self.backend return @backend if @backend require 'resque/failure/mongo' @backend = Failure::Mongo end |
.backend=(backend) ⇒ Object
27 28 29 |
# File 'lib/resque/failure.rb', line 27 def self.backend=(backend) @backend = backend end |
.clear ⇒ Object
Clear all failure jobs
70 71 72 |
# File 'lib/resque/failure.rb', line 70 def self.clear backend.clear end |
.count ⇒ Object
Returns the int count of how many failures we have seen.
40 41 42 |
# File 'lib/resque/failure.rb', line 40 def self.count backend.count end |
.create(options = {}) ⇒ Object
Creates a new failure, which is delegated to the appropriate backend.
Expects a hash with the following keys:
:exception - The Exception object
:worker - The Worker object who is reporting the failure
:queue - The string name of the queue from which the job was pulled
:payload - The job's payload
16 17 18 |
# File 'lib/resque/failure.rb', line 16 def self.create( = {}) backend.new(*.values_at(:exception, :worker, :queue, :payload)).save end |
.remove(index) ⇒ Object
78 79 80 |
# File 'lib/resque/failure.rb', line 78 def self.remove(index) backend.remove(index) end |
.requeue(index) ⇒ Object
74 75 76 |
# File 'lib/resque/failure.rb', line 74 def self.requeue(index) backend.requeue(index) end |
.search_count ⇒ Object
Returns the int count of the number of results for the last search executed
45 46 47 |
# File 'lib/resque/failure.rb', line 45 def self.search_count backend.search_count end |
.search_results(query, start = 0, count = 1) ⇒ Object
Will hold the last count - start results of a search through all the failed jobs, using the query string ‘query’
60 61 62 |
# File 'lib/resque/failure.rb', line 60 def self.search_results(query, start = 0, count = 1) backend.search_results(query, start, count) end |
.url ⇒ Object
The string url of the backend’s web interface, if any.
65 66 67 |
# File 'lib/resque/failure.rb', line 65 def self.url backend.url end |