2016-12-22 21:49:31 +01:00
|
|
|
class ApplicationJob < ActiveJob::Base
|
2021-04-29 13:55:43 +02:00
|
|
|
include ActiveJob::RetryOnTransientErrors
|
2020-06-02 20:13:38 +02:00
|
|
|
|
2021-04-29 13:55:43 +02:00
|
|
|
DEFAULT_MAX_ATTEMPTS_JOBS = 25
|
2020-09-02 16:59:54 +02:00
|
|
|
|
2017-10-03 16:31:17 +02:00
|
|
|
before_perform do |job|
|
2018-10-25 15:11:12 +02:00
|
|
|
Rails.logger.info("#{job.class.name} started at #{Time.zone.now}")
|
2017-10-03 16:31:17 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
after_perform do |job|
|
2018-10-25 15:11:12 +02:00
|
|
|
Rails.logger.info("#{job.class.name} ended at #{Time.zone.now}")
|
2017-10-03 16:31:17 +02:00
|
|
|
end
|
2018-02-22 10:28:24 +01:00
|
|
|
|
|
|
|
def error(job, exception)
|
2021-01-28 14:49:22 +01:00
|
|
|
Sentry.capture_exception(exception)
|
2018-02-22 10:28:24 +01:00
|
|
|
end
|
2020-06-02 20:13:38 +02:00
|
|
|
|
|
|
|
def max_attempts
|
2020-06-16 15:47:24 +02:00
|
|
|
ENV.fetch("MAX_ATTEMPTS_JOBS", DEFAULT_MAX_ATTEMPTS_JOBS).to_i
|
2020-06-02 20:13:38 +02:00
|
|
|
end
|
2016-12-22 21:49:31 +01:00
|
|
|
end
|