Sha256: da484e0a5a51e202faddf3c113aff06e0e45c362c78b058110f1176c33586e4c

Contents?: true

Size: 999 Bytes

Versions: 9

Compression:

Stored size: 999 Bytes

Contents

module Honeybadger
  module Integrations
    module Sidekiq
      class Middleware
        def call(worker, msg, queue)
          Honeybadger.context.clear!
          Honeybadger::Monitor::Trace.instrument("#{msg['class']}#perform", { :source => 'sidekiq', :jid => msg['jid'], :class => msg['class'] }) do
            yield
          end
        end
      end
    end
  end

  Dependency.register do
    requirement { defined?(::Sidekiq) }
    requirement { defined?(::Honeybadger::Monitor) }

    injection do
      ::Sidekiq.configure_server do |config|
        config.server_middleware do |chain|
          chain.add Integrations::Sidekiq::Middleware
        end
      end
    end
  end

  Dependency.register do
    requirement { defined?(::Sidekiq::VERSION) && ::Sidekiq::VERSION > '3' }

    injection do
      ::Sidekiq.configure_server do |config|
        config.error_handlers << Proc.new {|ex,context| Honeybadger.notify_or_ignore(ex, :parameters => context) }
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
honeybadger-1.16.7 lib/honeybadger/integrations/sidekiq.rb
honeybadger-1.16.6 lib/honeybadger/integrations/sidekiq.rb
honeybadger-1.16.5 lib/honeybadger/integrations/sidekiq.rb
honeybadger-1.16.4 lib/honeybadger/integrations/sidekiq.rb
honeybadger-1.16.3 lib/honeybadger/integrations/sidekiq.rb
honeybadger-1.16.2 lib/honeybadger/integrations/sidekiq.rb
honeybadger-1.16.1 lib/honeybadger/integrations/sidekiq.rb
honeybadger-1.16.0 lib/honeybadger/integrations/sidekiq.rb
honeybadger-1.15.3 lib/honeybadger/integrations/sidekiq.rb