Class: Yabeda::Sidekiq::ServerMiddleware

Inherits:
Object
  • Object
show all
Defined in:
lib/yabeda/sidekiq/server_middleware.rb

Overview

Sidekiq worker middleware

Instance Method Summary collapse

Instance Method Details

#call(worker, job, queue) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/yabeda/sidekiq/server_middleware.rb', line 7

def call(worker, job, queue)
  labels = Yabeda::Sidekiq.labelize(worker, job, queue)
  start = Time.now
  begin
    yield
    Yabeda.sidekiq_jobs_success_total.increment(labels)
  rescue Exception # rubocop: disable Lint/RescueException
    Yabeda.sidekiq_jobs_failed_total.increment(labels)
    raise
  ensure
    Yabeda.sidekiq_job_runtime.measure(labels, elapsed(start))
    Yabeda.sidekiq_jobs_executed_total.increment(labels)
  end
end