Class: SidekiqVigil::Middleware::Server

Inherits:
Object
  • Object
show all
Includes:
Sidekiq::ServerMiddleware
Defined in:
lib/sidekiq_vigil/middleware/server.rb

Instance Method Summary collapse

Constructor Details

#initialize(collector: SidekiqVigil.collector, monotonic_clock: -> { Process.clock_gettime(Process::CLOCK_MONOTONIC) }) ⇒ Server

Returns a new instance of Server.



8
9
10
11
# File 'lib/sidekiq_vigil/middleware/server.rb', line 8

def initialize(collector: SidekiqVigil.collector, monotonic_clock: -> { Process.clock_gettime(Process::CLOCK_MONOTONIC) })
  @collector = collector
  @monotonic_clock = monotonic_clock
end

Instance Method Details

#call(worker, job, queue) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/sidekiq_vigil/middleware/server.rb', line 13

def call(worker, job, queue)
  started_at = monotonic_clock.call
  failed = false
  begin
    yield
  rescue Exception # rubocop:disable Lint/RescueException
    failed = true
    raise
  ensure
    record(worker, job, queue, started_at, failed)
  end
end