class Bugsnag::Shoryuken

Extracts and attaches Shoryuken queue information to an error report

Constants

FRAMEWORK_ATTRIBUTES

Public Class Methods

new() click to toggle source
# File lib/bugsnag/integrations/shoryuken.rb, line 12
def initialize
  Bugsnag.configure do |config|
    config.detected_app_type = "shoryuken"
    config.default_delivery_method = :synchronous
    config.runtime_versions["shoryuken"] = ::Shoryuken::VERSION
  end
end

Public Instance Methods

call(_, queue, _, body) { || ... } click to toggle source
# File lib/bugsnag/integrations/shoryuken.rb, line 20
def call(_, queue, _, body)
  begin
    Bugsnag.before_notify_callbacks << lambda {|report|
      report.add_tab(:shoryuken, {
        queue: queue,
        body: body
      })
    }

    yield
  rescue Exception => ex
    Bugsnag.notify(ex, true) do |report|
      report.severity = "error"
      report.severity_reason = {
        :type => Bugsnag::Report::UNHANDLED_EXCEPTION_MIDDLEWARE,
        :attributes => Bugsnag::Shoryuken::FRAMEWORK_ATTRIBUTES
      }
    end
    raise
  ensure
    Bugsnag.configuration.clear_request_data
  end
end