Class: Sidekiq::Middleware::Server::RequestId

Inherits:
Logging
  • Object
show all
Defined in:
lib/sidekiq/middleware/server/request_id.rb

Instance Method Summary collapse

Instance Method Details

#call(worker, item, queue) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/sidekiq/middleware/server/request_id.rb', line 6

def call(worker, item, queue)
  request_id = ::RequestId.request_id = item['request_id']
  Sidekiq::Logging.with_context("request_id=#{request_id} worker=#{worker.class.to_s} jid=#{item['jid']} args=#{item['args'].inspect}") do
    begin
      start = Time.now
      logger.info { "at=start" }
      yield
      logger.info { "at=done duration=#{elapsed(start)}sec" }
    rescue Exception
      logger.info { "at=fail duration=#{elapsed(start)}sec" }
      raise
    end
  end
ensure
  ::RequestId.request_id = nil
end