Laravel 5.6队列重启CPU使用率

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 5.6队列重启CPU使用率相关的知识,希望对你有一定的参考价值。

我在共享主机服务上安装了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
答案

你似乎有内存泄漏所以请阅读memory

直接从如何运行队列工作者的文档:

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

另一种方法是使用queue:listen,区别在于:work启动一次并永远运行,而:listen在每个工作之前启动。

注意:queue:workqueue:work --daemon是相同的,所以你不必用--daemon标志运行cron。


注意:为什么经常运行:restart?我怀疑你每天都更新你的代码,所以只有在更新代码时才使用:restart

Related

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

以上是关于Laravel 5.6队列重启CPU使用率的主要内容,如果未能解决你的问题,请参考以下文章

laravel 消息队列浅析

laravel 队列重启

在第 1 行的 Psy Shell 代码中找不到 Laravel 5.6 Tinker Class '...'

雄辩的查询构建器laravel 5.6中的未知列

Laravel 5.6 - 用于自助API的Passport JWT httponly cookie SPA身份验证?

一个C++工程CPU占用100%问题的排查