Laravel 5.6队列重启CPU使用情况

时间:2018-08-29 08:21:51

标签: laravel queue cpu laravel-5.6

我在共享主机服务上安装了Laravel 5.6应用程序。但是我的托管公司对我的应用程序的CPU使用率不满意。无论我是手动还是通过cron作业杀死该工作线程,在杀死队列工作线程时都会显示出很高的CPU使用率。 有人可以解释一下为什么“ php artisan queue:restart”需要这么多的CPU时间吗?如果可能的话,我该如何减少?

重新启动:

cd /home/xxxxxx/rdw_laravel/; /usr/local/bin/php72 artisan queue:restart >/dev/null 2>&1 

激活队列工作器:

cd /home/xxxxxx/rdw_laravel/; /usr/local/bin/php72 artisan queue:work --daemon

1 个答案:

答案 0 :(得分:0)

您似乎有内存泄漏,请继续阅读memory

直接从文档中了解如何运行队列工作器:

  

守护进程队列工作程序在处理每个作业之前不会“重新启动”框架。因此,每项工作完成后,您应该释放大量资源。例如,如果要使用GD库进行图像处理,则完成后应使用imagedestroy释放内存。

替代方法是使用queue:listen,不同之处在于:work一次启动并永久运行,而:listen则在每个作业之前启动。

  

注意queue:workqueue:work --daemon相等,因此您不必使用带有--daemon标志的cron。


  

注意:为什么您经常运行:restart?我怀疑您每天都更新代码,因此仅在更新代码时使用:restart

相关

What is the difference between queue:work --daemon and queue:listen