Laravel 5.6队列重启CPU使用率

问题描述 投票:0回答:1

我在共享主机服务上安装了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
laravel queue cpu laravel-5.6
1个回答
0
投票

你似乎有内存泄漏所以请阅读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

© www.soinside.com 2019 - 2024. All rights reserved.