如何配置 Laravel Queue Worker 永久运行

问题描述 投票:0回答:1

我正在使用 Laravel 构建一个 Web 应用程序。 我想运行一个队列工作程序。

我用过

php artisan queue:work

但是此命令运行的工作程序仅工作 60 秒,因为默认超时为 60 秒。

我想要一个可以永远运行的队列工作者。 我怎样才能做到这一点?

我确实喜欢这个

        $schedule->command('queue:work --timeout=60 --stop-when-empty')
            ->everyMinute()
            ->withoutOverlapping();

但这仍然给我带来超时错误。

请帮助我

php laravel queue timeout
1个回答
0
投票

为什么

--timeout=60

你可以使用

php artisan queue:work --timeout=0

或者像这样

$schedule->command('queue:work --timeout=0')
    ->everyMinute()
    ->withoutOverlapping();

或者

public $timeout = 0; # in the file

或将其移至进程配置Supervisor配置

© www.soinside.com 2019 - 2024. All rights reserved.