Sha256: e22e48f7a9259e2188f44cd29ab47e0c9fa103a53a7b81377a9ad196edae89b0
Contents?: true
Size: 1.03 KB
Versions: 9
Compression:
Stored size: 1.03 KB
Contents
require 'honeybadger/plugin' require 'honeybadger/ruby' module Honeybadger module Plugins module Shoryuken class Middleware def call(worker, queue, sqs_msg, body) if sqs_msg.is_a?(Array) yield return end Honeybadger.flush do begin yield rescue => e receive_count = sqs_msg.attributes['ApproximateReceiveCount'.freeze] if receive_count && ::Honeybadger.config[:'shoryuken.attempt_threshold'].to_i <= receive_count.to_i Honeybadger.notify(e, parameters: body) end raise e end end ensure Honeybadger.context.clear! end end Plugin.register do requirement { defined?(::Shoryuken) } execution do ::Shoryuken.configure_server do |config| config.server_middleware do |chain| chain.add Middleware end end end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems