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 684
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 653
def initialize
  super 'dead'
end
timeout() click to toggle source
# File lib/sidekiq/api.rb, line 688
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 657
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 678
def retry_all
  while size > 0
    each(&:retry)
  end
end