【发布时间】:2019-11-27 11:55:57
【问题描述】:
我知道,如果作业抛出异常,作业会失败,并且会在几秒钟内从队列工作人员中自动重试。
我的问题是:我能以可控的方式失败吗?
我想捕获异常,创建更小的日志,例如,返回 false 以将作业标记为失败。
有办法吗?
精确度:我不想处理失败。我想在不抛出异常的情况下挑起失败。我需要一些边缘情况,工作失败。但我还需要避免抛出异常,以避免通过哨兵和其他内部工具发出一连串警告。我只是希望
return false但处理程序不会返回值。
【问题讨论】:
-
laravel.com/docs/5.7/queues#failed-job-events 当失败的作业触发 Queue::failing(function (JobFailed $event) {}): 调用时,您可以为所欲为。