Sha256: dd478f6c1ba41392b9bf319794cae1c6d041a9615e23a86bbc58693600ccacea

Contents?: true

Size: 891 Bytes

Versions: 5

Compression:

Stored size: 891 Bytes

Contents

module Sidekiq
  module ExceptionHandler

    def handle_exception(ex, msg)
      Sidekiq.logger.warn msg
      Sidekiq.logger.warn ex
      Sidekiq.logger.warn ex.backtrace.join("\n")
      send_to_airbrake(msg, ex) if defined?(::Airbrake)
      send_to_exceptional(msg, ex) if defined?(::Exceptional)
      send_to_exception_notifier(msg, ex) if defined?(::ExceptionNotifier)
    end

    private

    def send_to_airbrake(msg, ex)
      ::Airbrake.notify_or_ignore(ex, :parameters => msg)
    end

    def send_to_exceptional(msg, ex)
      if ::Exceptional::Config.should_send_to_api?
        ::Exceptional.context(msg)
        ::Exceptional::Remote.error(::Exceptional::ExceptionData.new(ex))
      end
    end

    def send_to_exception_notifier(msg, ex)
      ::ExceptionNotifier::Notifier.background_exception_notification(ex, :data => { :message => msg }).deliver
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
sidekiq-2.4.0 lib/sidekiq/exception_handler.rb
sidekiq-2.3.3 lib/sidekiq/exception_handler.rb
sidekiq-2.3.2 lib/sidekiq/exception_handler.rb
sidekiq-2.3.1 lib/sidekiq/exception_handler.rb
sidekiq-2.3.0 lib/sidekiq/exception_handler.rb