在Laravel Horizo​​n中只执行一次作业的设置是什么?

时间:2017-12-16 11:48:28

标签: php laravel redis queue laravel-horizon

我对如何仅运行一次作业有点困惑,因为当我将参数“尝试”设置为1并且作业失败时,它再次执行一次。如果我将tries参数设置为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,
    ],

还有一个问题,什么设置调度“已多次尝试或过度运行”?

1 个答案:

答案 0 :(得分:1)

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