class Sidekiq::Killswitch::Middleware::Server

Public Instance Methods

call(worker, job, _queue) { || ... } click to toggle source
# File lib/sidekiq/killswitch/middleware/server.rb, line 7
def call(worker, job, _queue)
  serialized_job = Sidekiq.dump_json(job)

  if Killswitch.dead_queue_worker?(worker.class)
    DeadSet.new.kill(serialized_job)
    Killswitch.logger.info "#{worker.class.name} marked as dead queue worker. Job #{serialized_job} was killed."
  elsif Killswitch.blackhole_worker?(worker.class)
    Killswitch.logger.info "#{worker.class.name} is currently disabled. Job #{serialized_job} was not executed."
  else
    yield
  end
end