2

我对如何只运行一次作业有点困惑,因为当我将参数“tries”设置为 1 并且作业失败时,它会再执行一次。如果我将尝试参数设置为 3,则作业运行 4 次。最后,如果我设置为 0,作业将无限期运行。在 config/horizo​​n.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,
    ],

和其他问题,什么设置调度“已尝试多次或运行过多”?

4

1 回答 1

2

只需为 Job 设置一个属性$tries = 1,并在捕获可能的错误时调用$this->fail()

于 2018-07-17T23:43:06.013 回答