我对如何仅运行一次作业有点困惑,因为当我将参数“尝试”设置为1并且作业失败时,它再次执行一次。如果我将tries参数设置为3,则作业运行4次。最后,如果我设置为0,作业将无限期地运行。在我的config / horizon.php设置下面:
'production' =
'default' => [
'connection' => 'redis',
'queue' => [
'default',
'notifications',
'dom'
],
'balance' => 'auto',
'maxProcesses' => env('MAX_PROCESSES', 45),
'timeout' => 60,
'tries' => 1,
],
],
低于我在config / queue.php中的设置
'redis' => [
'driver' => 'redis',
'connection' => 'default',
'queue' => 'default',
'retry_after' => 90,
],
还有一个问题,什么设置调度“已多次尝试或过度运行”?
答案 0 :(得分:1)
只需为Job设置属性$tries = 1
,并在发现可能的错误时调用$this->fail()
;