2

遅延ジョブが失敗したときに、Exception Notification gem に通知してもらうことができません。ジョブが失敗する可能性がありますが、通知が送信されません。他の誰かがこれを理解しましたか?

私は使用しています:

delayed_job_active_record (4.0.0)
exception_notification (4.0.0)

そして私のinitializers/delayed_jobs_configに以下を入れてください:

# Chain delayed job's handle_failed_job method to do exception notification
Delayed::Worker.class_eval do
  def handle_failed_job_with_notification(job, error)
    handle_failed_job_without_notification(job, error)
    # only actually send mail in production
    if Rails.env.production?
      # rescue if ExceptionNotifier fails for some reason
      begin
        ExceptionNotifier::Notifier.background_exception_notification(error)
      rescue Exception => e
        Rails.logger.error "ExceptionNotifier failed: #{e.class.name}: #{e.message}"
        e.backtrace.each do |f|
          Rails.logger.error "  #{f}"
        end
        Rails.logger.flush
      end
    end
  end
  alias_method_chain :handle_failed_job, :notification
end
4

1 に答える 1

3

exception_notification 4.0 以降、手動の通知を処理する新しい方法があります。変更してみる

ExceptionNotifier::Notifier.background_exception_notification(error)

為に

ExceptionNotifier.notify_exception(error)
于 2013-12-09T18:19:37.480 に答える