class ElasticAPM::Spies::DelayedJobSpy

def self.invoke_job(job, *args, &block)

def self.invoke_job(job, *args, &block)
  job_name = name_from_payload(job.payload_object)
  transaction = ElasticAPM.transaction(job_name, TYPE)
  job.invoke_job_without_apm(*args, &block)
  transaction.submit 'success'
rescue ::Exception => e
  ElasticAPM.report(e, handled: false)
  transaction.submit 'error'
  raise
ensure
  transaction.release if transaction
end