module Honeybadger::Plugins::ActiveJob

Constants

EXCLUDED_ADAPTERS

Ignore inline and test adapters, as well as the adapters that we support with their own plugins

Public Class Methods

context(job) click to toggle source
# File lib/honeybadger/plugins/active_job.rb, line 21
def context(job) # rubocop:disable Metrics/MethodLength
  {
    component: job.class,
    action: 'perform',
    enqueued_at: job.try(:enqueued_at),
    executions: job.executions,
    job_class: job.class,
    job_id: job.job_id,
    priority: job.priority,
    queue_name: job.queue_name,
    scheduled_at: job.scheduled_at
  }
end
perform_around(job, block) click to toggle source
# File lib/honeybadger/plugins/active_job.rb, line 8
def perform_around(job, block)
  Honeybadger.clear!
  context = context(job)
  block.call
rescue StandardError => e
  Honeybadger.notify(
    e,
    context: context,
    parameters: { arguments: job.arguments }
  ) if job.executions >= Honeybadger.config[:'active_job.attempt_threshold'].to_i
  raise e
end