mirror of https://github.com/docusealco/docuseal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
619 B
20 lines
619 B
# frozen_string_literal: true
|
|
|
|
class ApplicationJob < ActiveJob::Base
|
|
include ::NewRelic::Agent::Instrumentation::ControllerInstrumentation
|
|
|
|
retry_on StandardError, wait: 6.seconds, attempts: 5 unless Docuseal.multitenant?
|
|
unique :while_executing, on_conflict: :log
|
|
|
|
def perform(*args)
|
|
receiver_str, _, message = args.shift.rpartition('.')
|
|
time = Benchmark.measure do
|
|
receiver_str.constantize.send(message, *args)
|
|
end
|
|
Rails.logger.info(
|
|
"Finished #{receiver_str}.#{message}(#{args.map(&:to_s).join(', ')}): #{time}"
|
|
)
|
|
end
|
|
add_transaction_tracer :perform, category: :task
|
|
end
|