Module: Bugno::Middleware::Rails::ActiveJobExtensions
- Included in:
- ActiveJob::Base
- Defined in:
- lib/bugno/middleware/rails/active_job_extensions.rb
Constant Summary collapse
- ADAPTERS =
%w[ActiveJob::QueueAdapters::SidekiqAdapter ActiveJob::QueueAdapters::DelayedJobAdapter].freeze
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
11 12 13 14 15 |
# File 'lib/bugno/middleware/rails/active_job_extensions.rb', line 11 def self.included(base) base.class_eval do around_perform { |job, block| capture_and_reraise(job, block) } end end |
Instance Method Details
#capture_and_reraise(job, block) ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/bugno/middleware/rails/active_job_extensions.rb', line 17 def capture_and_reraise(job, block) block.call rescue Error raise rescue Exception => e Handler.call(exception: e, job: job_data(job)) if Bugno.configured? raise e end |
#job_data(job) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/bugno/middleware/rails/active_job_extensions.rb', line 26 def job_data(job) data = { active_job: job.class.name, arguments: job.arguments, scheduled_at: job.scheduled_at, job_id: job.job_id, locale: job.locale } data[:provider_job_id] = job.provider_job_id if job.respond_to?(:provider_job_id) data end |