Class: Appsignal::Integrations::SidekiqPlugin

Inherits:
Object
  • Object
show all
Defined in:
lib/appsignal/integrations/sidekiq.rb

Instance Method Summary collapse

Instance Method Details

#call(worker, item, queue) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/appsignal/integrations/sidekiq.rb', line 7

def call(worker, item, queue)
  Appsignal::Transaction.create(SecureRandom.uuid, ENV)
  ActiveSupport::Notifications.instrument(
    'perform_job.sidekiq',
    :class => item['class'],
    :method => 'perform',
    :attempts => item['retry_count'],
    :queue => item['queue'],
    :queue_start => item['enqueued_at']
  ) do
    yield
  end
rescue Exception => exception
  Appsignal.add_exception(exception)
  raise exception
ensure
  Appsignal::Transaction.complete_current!
end