Sha256: 08c030f2ecf759f399c8f0a1d91beee0326beefa457dd18f56b387a4feb8e601
Contents?: true
Size: 1.26 KB
Versions: 21
Compression:
Stored size: 1.26 KB
Contents
require 'delayed_job' require 'honeybadger' module Honeybadger module Plugins module DelayedJob class Plugin < ::Delayed::Plugin callbacks do |lifecycle| lifecycle.around(:invoke_job) do |job, &block| begin ::Honeybadger::Trace.instrument("#{job.payload_object.class}#perform", {source: 'delayed_job', jid: job.id, class: job.payload_object.class.name}) do block.call(job) end rescue Exception => error ::Honeybadger.notify_or_ignore( :error_class => error.class.name, :error_message => "#{ error.class.name }: #{ error.message }", :backtrace => error.backtrace, :context => { :job_id => job.id, :handler => job.handler, :last_error => job.last_error, :attempts => job.attempts, :queue => job.queue } ) if job.attempts.to_i >= ::Honeybadger::Agent.config[:'delayed_job.attempt_threshold'].to_i raise error ensure ::Honeybadger.context.clear! end end end end end end end
Version data entries
21 entries across 21 versions & 1 rubygems