class Sidekiq::Undertaker::JobFilter

Public Class Methods

all_errors?(filter, value) click to toggle source
# File lib/sidekiq/undertaker/job_filter.rb, line 40
def all_errors?(filter, value)
  filter == "error_class" && value == "all"
end
all_jobs?(filter, value) click to toggle source
# File lib/sidekiq/undertaker/job_filter.rb, line 36
def all_jobs?(filter, value)
  filter == "job_class" && value == "all"
end
filter_dead_jobs(filters = {}) click to toggle source
# File lib/sidekiq/undertaker/job_filter.rb, line 9
def filter_dead_jobs(filters = {})
  # filters can have keys in (job_class, error_class, bucket_name)
  dead_jobs = []
  Sidekiq::Undertaker::DeadJob.for_each do |dead_job|
    filter_passed = true
    filters.each do |filter, value|
      next if skip?(filter, value)

      filter_passed = false if dead_job.respond_to?(filter) && dead_job.public_send(filter) != value
    end
    dead_jobs << dead_job if filter_passed
  end

  dead_jobs
end
skip?(filter, value) click to toggle source
# File lib/sidekiq/undertaker/job_filter.rb, line 25
def skip?(filter, value)
  value.nil? ||
    total_dead_bucket?(filter, value) ||
    all_jobs?(filter, value) ||
    all_errors?(filter, value)
end
total_dead_bucket?(filter, value) click to toggle source
# File lib/sidekiq/undertaker/job_filter.rb, line 32
def total_dead_bucket?(filter, value)
  filter == "bucket_name" && value == "total_dead"
end