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, #scan, #size
Constructor Details
Returns a new instance of DeadSet.
727
728
729
|
# File 'lib/sidekiq/api.rb', line 727
def initialize
super "dead"
end
|
Class Method Details
.max_jobs ⇒ Object
756
757
758
|
# File 'lib/sidekiq/api.rb', line 756
def self.max_jobs
Sidekiq.options[:dead_max_jobs]
end
|
.timeout ⇒ Object
760
761
762
|
# File 'lib/sidekiq/api.rb', line 760
def self.timeout
Sidekiq.options[:dead_timeout_in_seconds]
end
|
Instance Method Details
#kill(message, opts = {}) ⇒ Object
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
|
# File 'lib/sidekiq/api.rb', line 731
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
752
753
754
|
# File 'lib/sidekiq/api.rb', line 752
def retry_all
each(&:retry) while size > 0
end
|