Php “Laravel数据库队列”;“杀死”;几秒钟后
我在我的Laravel项目中遇到了一个问题,我正试图用FFMPEG转换一个大约450MB大小的视频文件,由于这需要很长的时间,我正在使用Laravel中的队列来做这件事 由于我的生产环境的配置,我必须使用数据库队列问题是,每当我使用“我的流浪者”框中的命令Php “Laravel数据库队列”;“杀死”;几秒钟后,php,laravel-5,vagrant,laravel-queue,Php,Laravel 5,Vagrant,Laravel Queue,我在我的Laravel项目中遇到了一个问题,我正试图用FFMPEG转换一个大约450MB大小的视频文件,由于这需要很长的时间,我正在使用Laravel中的队列来做这件事 由于我的生产环境的配置,我必须使用数据库队列问题是,每当我使用“我的流浪者”框中的命令php artisan queue:work时,排队的作业都会在大约60秒后被杀死 Vagrant box有4GB可用Ram,启用了2D和3D加速,并且在整个过程中,memory\u peak\u usage()命令从不列出任何超过20MB的内
php artisan queue:work
时,排队的作业都会在大约60秒后被杀死
Vagrant box有4GB可用Ram,启用了2D和3D加速,并且在整个过程中,memory\u peak\u usage()
命令从不列出任何超过20MB的内存
我检查了php\u sapi\u name()
,它是cli,因此在执行时间方面,它不应该有任何限制,不管我转到cli php.ini文件并再次删除了任何限制
尝试重新启动流浪者,几秒钟后被杀死
所以我决定尝试为转码过程创建一个Laravel命令,我对文件路径和内容进行了硬编码,你瞧,它在工作时没有被杀死
我是不是错过了一些关于排队的事情?我只是在运行php artisan queue:work
我没有指定任何类型的超时,为什么我的队列会被杀死
提前感谢您的帮助。您已经发现,作业的默认超时时间为60秒。超时由
--timeout[=timeout]
属性指定,完全禁用超时由--timeout=0
完成
php artisan queue:work --timeout=0
您是否尝试过使用
--timeout
param?@Ali这就是问题的全部,我根本不想要任何超时,引入一个会破坏我的应用程序,因为ffmpeg很容易需要1-2个小时才能完成视频处理。我确实在Laravel文档中读到,--timeout
选项将优先于客户端上的常规超时。。。也许如果我为我的用例设置一个大的,也许会有效果,但它仍然很糟糕,没有太多意义。看看答案。可能您必须设置内存限制选项。