lib/airbrake/delayed_job/plugin.rb in airbrake-5.6.1 vs lib/airbrake/delayed_job/plugin.rb in airbrake-5.7.0.rc.1
- old
+ new
@@ -8,20 +8,21 @@
lifecycle.around(:invoke_job) do |job, *args, &block|
begin
# Forward the call to the next callback in the callback chain
block.call(job, *args)
rescue Exception => exception
- params = job.as_json.merge(
- component: 'delayed_job',
- action: job.payload_object.class.name
- )
+ params = job.as_json
# If DelayedJob is used through ActiveJob, it contains extra info.
if job.payload_object.respond_to?(:job_data)
params[:active_job] = job.payload_object.job_data
end
- ::Airbrake.notify(exception, params)
+ notice = ::Airbrake.build_notice(exception, params)
+ notice[:context][:component] = 'delayed_job'
+ notice[:context][:action] = job.payload_object.class.name
+
+ ::Airbrake.notify(notice)
raise exception
end
end
end
end