Sha256: ef21bb2b2bbc3e5a5f50ce5ba3b47dfad34174c1eda8ce033adbe6b1d5fa781b
Contents?: true
Size: 1.04 KB
Versions: 3
Compression:
Stored size: 1.04 KB
Contents
require 'honeybadger/plugin' require 'honeybadger' 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::Agent.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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
honeybadger-2.7.2 | lib/honeybadger/plugins/shoryuken.rb |
honeybadger-2.7.1 | lib/honeybadger/plugins/shoryuken.rb |
honeybadger-2.7.0 | lib/honeybadger/plugins/shoryuken.rb |