Laravel数据库队列,几秒钟后“被杀”

时间:2017-08-08 10:26:27

标签: php laravel-5 vagrant laravel-queue

我的Laravel项目出了问题,我正在尝试转发 FFMPEG 的视频文件大小 450MB 这需要时间,我在Laravel中使用Queues来执行此操作。

由于我的生产环境的配置,我必须使用数据库队列,问题是每次使用命令php artisan queue:work时,每次大约60秒后排队的作业就会被杀死我的 Vagrant 框。

Vagrant盒子有4GB Ram可用,支持2D和3D加速,memory_peak_usage()命令在整个过程中从不列出任何超过20MB的内容。

我按预期检查了php_sapi_name()并且它是 cli 所以当涉及到执行时间时它应该没有任何限制,无论我去了cli php .ini 文件并再次删除任何限制以确定。

尝试重新启动Vagrant,几秒钟后 Killed

所以我决定尝试为转码过程创建一个Laravel Command ,我对文件路径和内容进行了硬编码,并且看到它正在工作而不是 Killed ... < / p>

我错过了关于队列的一些事情吗?我刚刚运行php artisan queue:work我没有指定任何类型的超时,为什么我的队列被杀?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:12)

您发现,作业的默认超时为60秒。使用--timeout[=TIMEOUT]属性指定超时,并使用--timeout=0完全禁用超时。

php artisan queue:work --timeout=0