ruby – 延迟作业每次引发错误时都会创建Airbrakes
发布时间:2020-12-17 04:15:10 所属栏目:百科 来源:网络整理
导读: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 re
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语句中提出“延迟RefundJob失败”时,它会创建一个Airbrake.如果它在else部分结束,我想再次运行该作业. 有没有办法在不引发异常的情况下重新排队工作?并防止制造空气制动器? 我正在使用delayed_job版本1. 解决方法
最干净的方法是重新排队,即创建一个新作业并将其入队,然后正常退出该方法.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |