1

Railsアプリケーションで遅延ジョブを使用しているIam。遅延ジョブが失敗するたびにエアベイクにエラーを通知したい。私はgithubをチェックして、失敗の方法について学びました。

失敗した遅延ジョブのlast_error属性をairbrakeに送信したいと思います。このようなもの:

class ParanoidNewsletterJob < NewsletterJob
   def perform

   end

   def failure
     Airbrake.notify(:message => self.last_error, :error_class => self.handler)
   end
 end

しかし、次のランタイムエラーが発生します。

undefined method `last_error' for #<struct ParanoidNewsletterJob>

失敗したdelayed_jobのlast_errorをAirbrakeに通知する方法を理解するのを手伝ってください。

どうもありがとう!!

4

3 に答える 3

0

ジョブを失敗メソッドに渡し、ジョブから last_error を抽出できるはずです。すなわち

def failure(job)
  Airbrake.notify(:message => job.last_error, :error_class => job.handler)
end
于 2013-06-18T12:04:38.840 に答える