def perform
refund_log = {
success: refund_retry.success?,
amount: refund_amount,
action: "refund"
}
if refund_retry.success?
refund_log[:reference] = refund_retry.transaction.id
refund_log[:message] = refund_retry.transaction.status
else
refund_log[:message] = refund_retry.message
refund_log[:params] = {}
refund_retry.errors.each do |error|
refund_log[:params][error.code] = error.message
end
order_transaction.message = refund_log[:params].values.join('|')
raise "delayed RefundJob has failed"
end
end
else文で「delayed RefundJob has failed」を発生させると、Airbrakeが作成されます。 elseセクションで終了したら、もう一度ジョブを実行したいです。エラーが発生するたびにエアブレーキを作成する遅延ジョブ
例外を発生させずにジョブを再キューする方法はありますか?エアブレーキを作りたくないのですか?
私はdelayed_jobバージョン1.
徹底的な回答ありがとうございます。再スケジュール方法に関して、私の印象は、ジョブが失敗したときに再スケジューリングされるということです(エラーが発生していない場合は私のものが合格になります)。 –