使用retryUntil(),队列作业不会超时

时间:2018-04-19 03:49:57

标签: laravel queue

我尝试在队列长时间运行的作业上使用retryUntil()方法,如下所示:

public function handle()
{
    // time for execution 16-18 sec
    for ($x = 0; $x <= 1000000000; $x++) {
        $b = 1 + 1;
    } 
}

public function retryUntil()
{
    return now()->addSeconds(5);
}

队列工作人员命令(没有任何选项):

php artisan queue:work

但是5秒后,作业仍然在运行,而不是超时。

请帮助我了解retryUntil()如何工作?使用此方法的任何示例?

谢谢。

Laravel版本:5.6.17。 PHP版本:7.2.4(pcntl启用)

1 个答案:

答案 0 :(得分:0)

尝试向queue worker添加选项: php artisan queue:work --timeout=5

仅供参考:查看https://laravel.com/docs/5.5/queues#job-expirations-and-timeouts