class Sidekiq::DeadSet

Allows enumeration of dead jobs within Sidekiq.

Public Class Methods

max_jobs() click to toggle source
# File lib/sidekiq/api.rb, line 754
def self.max_jobs
  Sidekiq.options[:dead_max_jobs]
end
new() click to toggle source
Calls superclass method Sidekiq::SortedSet::new
# File lib/sidekiq/api.rb, line 725
def initialize
  super "dead"
end
timeout() click to toggle source
# File lib/sidekiq/api.rb, line 758
def self.timeout
  Sidekiq.options[:dead_timeout_in_seconds]
end

Public Instance Methods

kill(message, opts = {}) click to toggle source
# File lib/sidekiq/api.rb, line 729
def kill(message, opts = {})
  now = Time.now.to_f
  Sidekiq.redis do |conn|
    conn.multi do
      conn.zadd(name, now.to_s, message)
      conn.zremrangebyscore(name, "-inf", now - self.class.timeout)
      conn.zremrangebyrank(name, 0, - self.class.max_jobs)
    end
  end

  if opts[:notify_failure] != false
    job = Sidekiq.load_json(message)
    r = RuntimeError.new("Job killed by API")
    r.set_backtrace(caller)
    Sidekiq.death_handlers.each do |handle|
      handle.call(job, r)
    end
  end
  true
end
retry_all() click to toggle source
# File lib/sidekiq/api.rb, line 750
def retry_all
  each(&:retry) while size > 0
end