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

Version Path
honeybadger-2.0.12 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.11 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.10 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.9 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.8 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.6 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.5 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.4 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.3 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.2 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.1 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.0 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.0.beta.13 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.0.beta.12 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.0.beta.11 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.0.beta.10 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.0.beta.9 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.0.beta.8 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.0.beta.7 lib/honeybadger/plugins/delayed_job/plugin.rb
honeybadger-2.0.0.beta.6 lib/honeybadger/plugins/delayed_job/plugin.rb