我尝试在队列长时间运行的作业上使用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启用)
答案 0 :(得分:0)
尝试向queue worker添加选项:
php artisan queue:work --timeout=5
仅供参考:查看https://laravel.com/docs/5.5/queues#job-expirations-and-timeouts