我正在使用该命令运行Laravel队列:
/usr/bin/php7.2 artisan queue:listen --timeout=0
但是此错误始终在300秒处停止:
Symfony\\Component\\Process\\Exception\\ProcessTimedOutException(code: 0): The process [...] exceeded the timeout of 300 seconds
我也尝试在job的班级设置超时时间:
public $timeout = 5000;
谁知道该怎么办?此过程是针对视频编码的,因此运行时间较长。
谢谢!
答案 0 :(得分:0)
如ProcessTimedOutException
所示,Symfony进程实际上正在超时,而不是Laravel队列。如果您知道并期望该进程长时间运行(例如,视频处理),则将Process类中的timeout
设置为null
,以指示没有超时,如下所示:
...
$process = new Process($command);
$process->setTimeout(null);
...
答案 1 :(得分:0)
最好的方法,你需要单独的数据按页面推送到队列,而不是1个队列的大数据,我们有很多队列等待运行后台,如果你提高速度,你可以让多个作业cath队列。