class ScoutApm::ErrorService::Sidekiq::SidekiqExceptionMiddleware

Public Instance Methods

call(worker, msg, queue) { || ... } click to toggle source
# File lib/scout_apm/error_service/sidekiq.rb, line 55
def call(worker, msg, queue)
  yield
rescue => exception
  context = ScoutApm::Agent.instance.context

  # Bail out early, and reraise if the error is not interesting.
  if context.ignored_exceptions.ignored?(exception)
    raise
  end

  # Capture the error for further processing and shipping
  context.error_buffer.capture(
    exception,
    {
      :custom_params => msg,
      :custom_controller => msg["class"]
    }
  )

  # Finally, reraise
  raise exception
end