Sha256: b11fbcc9fb8d604d452f6fc90de9c05f0a004ac2ec752629b2ee4e63602a3af0

Contents?: true

Size: 897 Bytes

Versions: 1

Compression:

Stored size: 897 Bytes

Contents

module Delayed
  module Plugins
    class Honeybadger < Plugin
      module Notify
        def error(job, 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
            }
          )
          super if defined?(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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
delayed_job_honeybadger-0.0.2 lib/delayed/plugins/honeybadger.rb