Skip to content

Instantly share code, notes, and snippets.

@granth
Created March 28, 2012 04:54
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save granth/2223758 to your computer and use it in GitHub Desktop.
Save granth/2223758 to your computer and use it in GitHub Desktop.
delayed_job exception notification with airbrake
module Delayed
module Plugins
class Airbrake < Plugin
module Notify
def error(job, error)
::Airbrake.notify_or_ignore(error)
super
end
end
callbacks do |lifecycle|
lifecycle.before(:invoke_job) do |job|
payload = job.payload_object
payload = payload.object if payload.is_a? Delayed::PerformableMethod
payload.extend Notify
end
end
end
end
end
Delayed::Worker.plugins << Delayed::Plugins::Airbrake
@AgileMantis
Copy link

Awesome, thanks!

@rchampourlier
Copy link

Excellent, thanks for sharing!

Here is a StackOverflow question where I shared your gist and a little-customized version of your code, which improves what is sent to Airbrake (using parts of the available answers on the SO question).

@paulkoegel
Copy link

thank you!

@benjaminoakes
Copy link

I really like this approach. I couldn't find a version released as a gem, so in thanks for sharing this, I packaged it as a gem for others to easily use. If you'd like write access, etc, please let me know!

https://github.com/benjaminoakes/delayed-plugins-airbrake

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment