Sha256: 57c6447df4189e692a7bd7a5616dd937790e1d4e6070988ae7bd63022432ee48

Contents?: true

Size: 1.09 KB

Versions: 12

Compression:

Stored size: 1.09 KB

Contents

require 'honeybadger/plugin'
require 'honeybadger/ruby'

module Honeybadger
  module Plugins
    module Sidekiq
      class Middleware
        def call(worker, msg, queue)
          Honeybadger.context.clear!
          yield
        end
      end

      Plugin.register do
        requirement { defined?(::Sidekiq) }

        execution do
          ::Sidekiq.configure_server do |sidekiq|
            sidekiq.server_middleware do |chain|
              chain.add Middleware
            end
          end

          if defined?(::Sidekiq::VERSION) && ::Sidekiq::VERSION > '3'
            ::Sidekiq.configure_server do |sidekiq|
              sidekiq.error_handlers << lambda {|ex, params|
                return if params['retry'.freeze] && params['retry_count'.freeze].to_i < config[:'sidekiq.attempt_threshold'].to_i
                opts = {parameters: params}
                opts[:component] = params['wrapped'.freeze] || params['class'.freeze] if config[:'sidekiq.use_component']
                Honeybadger.notify(ex, opts)
              }
            end
          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
honeybadger-3.1.2 lib/honeybadger/plugins/sidekiq.rb
honeybadger-3.1.1 lib/honeybadger/plugins/sidekiq.rb
honeybadger-3.1.0 lib/honeybadger/plugins/sidekiq.rb
honeybadger-3.0.2 lib/honeybadger/plugins/sidekiq.rb
honeybadger-3.0.1 lib/honeybadger/plugins/sidekiq.rb
honeybadger-3.0.0 lib/honeybadger/plugins/sidekiq.rb
honeybadger-3.0.0.beta6 lib/honeybadger/plugins/sidekiq.rb
honeybadger-3.0.0.beta5 lib/honeybadger/plugins/sidekiq.rb
honeybadger-3.0.0.beta4 lib/honeybadger/plugins/sidekiq.rb
honeybadger-3.0.0.beta3 lib/honeybadger/plugins/sidekiq.rb
honeybadger-3.0.0.beta2 lib/honeybadger/plugins/sidekiq.rb
honeybadger-3.0.0.beta1 lib/honeybadger/plugins/sidekiq.rb