Class: Resque::Failure::Multiple

Inherits:
Base
  • Object
show all
Defined in:
lib/resque/failure/multiple.rb

Overview

A Failure backend that uses multiple backends delegates all queries to the first backend

Class Attribute Summary collapse

Attributes inherited from Base

#exception, #payload, #queue, #worker

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#log

Constructor Details

#initialize(*args) ⇒ Multiple

Returns a new instance of Multiple.



16
17
18
19
# File 'lib/resque/failure/multiple.rb', line 16

def initialize(*args)
  super
  @backends = self.class.classes.map {|klass| klass.new(*args)}
end

Class Attribute Details

.classesObject

Returns the value of attribute classes.



8
9
10
# File 'lib/resque/failure/multiple.rb', line 8

def classes
  @classes
end

Class Method Details

.all(start = 0, count = 1) ⇒ Object

Returns a paginated array of failure objects.



31
32
33
# File 'lib/resque/failure/multiple.rb', line 31

def self.all(start = 0, count = 1)
  classes.first.all(start,count)
end

.clearObject

Clear all failure objects



41
42
43
# File 'lib/resque/failure/multiple.rb', line 41

def self.clear
  classes.first.clear
end

.configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



11
12
13
14
# File 'lib/resque/failure/multiple.rb', line 11

def self.configure
  yield self
  Resque::Failure.backend = self
end

.countObject

The number of failures.



26
27
28
# File 'lib/resque/failure/multiple.rb', line 26

def self.count
  classes.first.count
end

.remove(index) ⇒ Object



49
50
51
# File 'lib/resque/failure/multiple.rb', line 49

def self.remove(index)
  classes.each { |klass| klass.remove(index) }
end

.requeue(*args) ⇒ Object



45
46
47
# File 'lib/resque/failure/multiple.rb', line 45

def self.requeue(*args)
  classes.first.requeue(*args)
end

.urlObject

A URL where someone can go to view failures.



36
37
38
# File 'lib/resque/failure/multiple.rb', line 36

def self.url
  classes.first.url
end

Instance Method Details

#saveObject



21
22
23
# File 'lib/resque/failure/multiple.rb', line 21

def save
  @backends.each(&:save)
end