Sha256: 349a2ed9f1d8778a46941914f8fd1985924f2deb832845da61fd2c8021698dc6

Contents?: true

Size: 1.42 KB

Versions: 12

Compression:

Stored size: 1.42 KB

Contents

module Resque
  module Failure
    # A Failure backend that uses multiple backends
    # delegates all queries to the first backend
    class Multiple < Base

      class << self
        attr_accessor :classes
      end

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

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

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

      # The number of failures.
      def self.count(*args)
        classes.first.count(*args)
      end

      # Returns an array of all available failure queues
      def self.queues
        classes.first.queues
      end

      # Returns a paginated array of failure objects.
      def self.all(*args)
        classes.first.all(*args)
      end

      # Iterate across failed objects
      def self.each(*args, &block)
        classes.first.each(*args, &block)
      end

      # A URL where someone can go to view failures.
      def self.url
        classes.first.url
      end

      # Clear all failure objects
      def self.clear(*args)
        classes.first.clear(*args)
      end

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

      def self.requeue_all
        classes.first.requeue_all
      end

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

Version data entries

12 entries across 12 versions & 5 rubygems

Version Path
resque-2.0.0 lib/resque/failure/multiple.rb
resque_admin-1.0.4 lib/resque_admin/failure/multiple.rb
resque_admin-1.0.3 lib/resque/failure/multiple.rb
resque_admin-1.0.2 lib/resque/failure/multiple.rb
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/resque-1.27.4/lib/resque/failure/multiple.rb
resque-1.27.4 lib/resque/failure/multiple.rb
resque-1.27.3 lib/resque/failure/multiple.rb
resque-1.27.2 lib/resque/failure/multiple.rb
resque-1.27.1 lib/resque/failure/multiple.rb
resque-1.27.0 lib/resque/failure/multiple.rb
resqueue-1.0.0 lib/resque/failure/multiple.rb
resque-master-0.0.3 lib/resque/failure/multiple.rb