lib/resque/failure/airbrake.rb
begin require 'airbrake' rescue LoadError raise "Can't find 'airbrake' gem. Please add it to your Gemfile or install it." end module Resque module Failure class Airbrake < Base def self.configure(&block) Resque.logger.warn "This actually sets global Airbrake configuration, " \ "which is probably not what you want." Resque::Failure.backend = self ::Airbrake.configure(&block) end def self.count(queue = nil, class_name = nil) # We can't get the total # of errors from Airbrake so we fake it # by asking Resque how many errors it has seen. Stat[:failed] end def save notify( exception, parameters: { payload_class: payload['class'].to_s, payload_args: payload['args'].inspect } ) end private def notify(exception, options) if ::Airbrake.respond_to?(:notify_sync) ::Airbrake.notify_sync(exception, options) else # Older versions of Airbrake (< 5) ::Airbrake.notify(exception, options) end end end end end