class Sidekiq::WorkerStats::Middleware

Public Instance Methods

call(worker, msg, queue) { || ... } click to toggle source
# File lib/sidekiq/worker_stats/middleware.rb, line 7
def call(worker, msg, queue)
  c = Sidekiq::WorkerStats::Configuration.new(worker.class)

  unless c.enabled
    yield
    return
  end

  s = Sidekiq::WorkerStats::Stats.new(worker, msg, queue, c)
  begin
    yield
    s.stop('completed')
  rescue => e
    s.stop('failed')
    raise e
  ensure
    s.save
  end
end