module Sidekiq::Job

def self.included(base)

def self.included(base)
  raise ArgumentError, "Sidekiq::Job cannot be included in an ActiveJob: #{base.name}" if base.ancestors.any? { |c| c.name == "ActiveJob::Base" }
  base.include(Options)
  base.extend(ClassMethods)
end

def clear_all

Clear all queued jobs
def clear_all
  Queues.clear_all
end

def drain_all

Drain (execute) all queued jobs
def drain_all
  while jobs.any?
    job_classes = jobs.map { |job| job["class"] }.uniq
    job_classes.each do |job_class|
      Object.const_get(job_class).drain
    end
  end
end

def interrupted?

def interrupted?
  @_context&.stopping?
end

def jobs # :nodoc:

:nodoc:
def jobs # :nodoc:
  Queues.jobs_by_queue.values.flatten
end

def logger

def logger
  Sidekiq.logger
end