Class: Honeykiq::ServerMiddleware

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

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ ServerMiddleware

Returns a new instance of ServerMiddleware.



5
6
7
# File 'lib/honeykiq/server_middleware.rb', line 5

def initialize(options = {})
  @honey_client = options.fetch(:honey_client)
end

Instance Method Details

#call(_worker, msg, queue_name) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/honeykiq/server_middleware.rb', line 9

def call(_worker, msg, queue_name)
  event = @honey_client.event.add(**all_fields(msg, queue_name))
  duration_ms(event) { yield }
  event.add_field(:'job.status', 'finished')
rescue StandardError => error
  event&.add_field(:'job.status', 'failed')
  event&.add(error_info(error))
  raise
ensure
  event&.send
end