Sha256: 6451c57cf888276f3a037a13e3c4b239c36acbd744a63bf91bf696376d4076a8

Contents?: true

Size: 946 Bytes

Versions: 3

Compression:

Stored size: 946 Bytes

Contents

# encoding: utf-8

PARAM_BLACKLIST = ['backtrace', 'error_backtrace', 'error_message', 'error_class']

if Sidekiq::VERSION < '3'
  module Rollbar
    class Sidekiq
      def call(worker, msg, queue)
        begin
          yield
        rescue Exception => e
          params = msg.reject{ |k| PARAM_BLACKLIST.include?(k) }
          scope = { :request => { :params => params } }

          Rollbar.scope(scope).error(e, :use_exception_level_filters => true)
          raise
        end
      end
    end
  end

  Sidekiq.configure_server do |config|
    config.server_middleware do |chain|
      chain.add Rollbar::Sidekiq
    end
  end
else
  Sidekiq.configure_server do |config|
    config.error_handlers << Proc.new do |e, context|
      params = context.reject{ |k| PARAM_BLACKLIST.include?(k) }
      scope = { :request => { :params => params } }

      Rollbar.scope(scope).error(e, :use_exception_level_filters => true)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rollbar-1.4.2 lib/rollbar/sidekiq.rb
rollbar-1.4.1 lib/rollbar/sidekiq.rb
rollbar-1.4.0 lib/rollbar/sidekiq.rb