class DoctorStrange::Providers::Sidekiq

Private Class Methods

configuration_class() click to toggle source
# File lib/doctor_strange/providers/sidekiq.rb, line 36
def configuration_class
  ::DoctorStrange::Providers::Sidekiq::Configuration
end

Public Instance Methods

check!() click to toggle source
# File lib/doctor_strange/providers/sidekiq.rb, line 21
def check!
  check_workers!
  check_processes!
  check_latency!
  check_queue_size!
  check_redis!
rescue Exception => e
  raise SidekiqException, e.message
end

Private Instance Methods

check_latency!() click to toggle source
# File lib/doctor_strange/providers/sidekiq.rb, line 52
def check_latency!
  latency = queue.latency

  return unless latency > configuration.latency

  raise "latency #{latency} is greater than #{configuration.latency}"
end
check_processes!() click to toggle source
# File lib/doctor_strange/providers/sidekiq.rb, line 45
def check_processes!
  sidekiq_stats = ::Sidekiq::Stats.new
  return unless sidekiq_stats.processes_size.zero?

  raise 'Sidekiq alive processes number is 0!'
end
check_queue_size!() click to toggle source
# File lib/doctor_strange/providers/sidekiq.rb, line 60
def check_queue_size!
  size = queue.size

  return unless size > configuration.queue_size

  raise "queue size #{size} is greater than #{configuration.queue_size}"
end
check_redis!() click to toggle source
# File lib/doctor_strange/providers/sidekiq.rb, line 68
def check_redis!
  if ::Sidekiq.respond_to?(:redis_info)
    ::Sidekiq.redis_info
  else
    ::Sidekiq.redis(&:info)
  end
end
check_workers!() click to toggle source
# File lib/doctor_strange/providers/sidekiq.rb, line 41
def check_workers!
  ::Sidekiq::Workers.new.size
end
queue() click to toggle source
# File lib/doctor_strange/providers/sidekiq.rb, line 76
        def queue
  @queue ||= ::Sidekiq::Queue.new
end