class SidekiqMonitoring::Worker

Constants

DEFAULT_ELAPSED_THRESHOLD

Attributes

elapsed_critical_threshold[RW]
elapsed_warning_threshold[RW]
jid[R]
process_id[R]
queue[R]
run_at[R]
worker_class[R]

Public Class Methods

new(process_id, jid, run_at, queue, worker_class, elapsed_thresholds = nil) click to toggle source
# File lib/sidekiq-monitoring.rb, line 64
def initialize(process_id, jid, run_at, queue, worker_class, elapsed_thresholds = nil)
  @process_id = process_id
  @jid = jid
  @run_at = run_at
  @queue = queue
  @worker_class = worker_class
  @elapsed_warning_threshold, @elapsed_critical_threshold = elapsed_thresholds ? elapsed_thresholds : DEFAULT_ELAPSED_THRESHOLD
  @status = monitoring_status
end

Public Instance Methods

as_json() click to toggle source
# File lib/sidekiq-monitoring.rb, line 74
def as_json
  {
    'queue' => queue,
    'jid' => jid,
    'process_id' => process_id,
    'worker_class' => worker_class,
    'status' => status,
    'elapsed_time' => elapsed_time,
    'elapsed_warning_threshold' => elapsed_warning_threshold,
    'elapsed_critical_threshold' => elapsed_critical_threshold
  }
end
elapsed_time() click to toggle source
# File lib/sidekiq-monitoring.rb, line 87
def elapsed_time
  @elapsed_time ||= Time.now.to_i - run_at
end
monitoring_status() click to toggle source
# File lib/sidekiq-monitoring.rb, line 91
def monitoring_status
  return 'CRITICAL' if elapsed_time >= elapsed_critical_threshold
  return 'WARNING' if elapsed_time >= elapsed_warning_threshold
  'OK'
end