Я использую rails ActiveJob's delayed_job, но хотел бы иметь доступ к error and failure hooks delayed_job, чтобы запускать уведомления почтовых отправителей при ошибках работы или сбоях.Как расширить ActiveJob для доступа к ошибкам/ошибкам delayed_job?
Я думаю, что я отследил кусок ActiveJob code Мне нужно расширить, чтобы включить методы и методы задержки delayed_job.
Как я могу расширить класс JobWrapper ниже, включив методы и методы задержки delayed_job, поэтому я могу использовать собственный код ошибки/сбоя на основе работы?
require "delayed_job"
module ActiveJob
module QueueAdapters
class DelayedJobAdapter
def enqueue(job)
delayed_job = Delayed::Job.enqueue(JobWrapper.new(job.serialize), queue: job.queue_name, priority: job.priority)
job.provider_job_id = delayed_job.id
delayed_job
end
def enqueue_at(job, timestamp)
delayed_job = Delayed::Job.enqueue(JobWrapper.new(job.serialize), queue: job.queue_name, priority: job.priority, run_at: Time.at(timestamp))
job.provider_job_id = delayed_job.id
delayed_job
end
class JobWrapper
attr_accessor :job_data
def initialize(job_data)
@job_data = job_data
end
def perform
Base.execute(job_data)
end
end
end
end
end