Class: Sidekiq::DeadSet
Overview
Allows enumeration of dead jobs within Sidekiq.
Instance Attribute Summary
Attributes inherited from SortedSet
#name
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from JobSet
#delete_by_jid, #delete_by_value, #each, #fetch, #find_job, #schedule
Methods inherited from SortedSet
#clear, #size
Constructor Details
Returns a new instance of DeadSet.
655
656
657
|
# File 'lib/sidekiq/api.rb', line 655
def initialize
super 'dead'
end
|
Class Method Details
.max_jobs ⇒ Object
686
687
688
|
# File 'lib/sidekiq/api.rb', line 686
def self.max_jobs
Sidekiq.options[:dead_max_jobs]
end
|
.timeout ⇒ Object
690
691
692
|
# File 'lib/sidekiq/api.rb', line 690
def self.timeout
Sidekiq.options[:dead_timeout_in_seconds]
end
|
Instance Method Details
#kill(message, opts = {}) ⇒ Object
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
|
# File 'lib/sidekiq/api.rb', line 659
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 ⇒ Object
680
681
682
683
684
|
# File 'lib/sidekiq/api.rb', line 680
def retry_all
while size > 0
each(&:retry)
end
end
|