class Nightwing::Sidekiq::WorkerStats

Public Instance Methods

call(worker, msg, queue) { || ... } click to toggle source
# File lib/nightwing/sidekiq/worker_stats.rb, line 6
def call(worker, msg, queue)
  worker_namespace = metrics.for(queue: queue, worker: worker.class)

  client.increment "#{worker_namespace}.processed"

  if msg["retry"]
    if msg["retry_count"].to_i > 0
      client.increment "#{worker_namespace}.retried"
    end
  end

  begin
    yield
  rescue
    client.increment "#{worker_namespace}.failed"
    raise
  end

  client.increment "#{worker_namespace}.finished"
end