扫码阅读
手机扫码阅读
Think-Swoole如何设置Swoole提供的配置项
577 2024-02-23
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章来源:
鲁飞
扫码关注公众号
摘要
think-swoole的官方文档较为简略,主要介绍了启动、热更新、连接池等配置,但缺乏详细说明,因此可能需要通过查看源码来获取更多信息。
在Swoole微信交流群中有用户报告了内存泄漏问题,作者亲自验证了think-swoole存在内存泄漏的问题。为了解决这一问题,作者尝试使用了Swoole的max_request配置项,该配置项设置worker进程在处理一定数量的任务后退出来释放资源。
尽管max_request配置项一般可以直接在config/swoole.php中的server.options设置,但作者发现在think-swoole的源码中,这个配置项被写死为0。
public function run(): void{
$this->getServer()->set([
//... 其他配置项
'max_request' => 0,
'task_max_request' => 0,
]);
//... 其他代码
}
作者咨询了ThinkPHP开发组成员,得知这是有意为之,以确保特定配置项的固定,同时避免在RPC传输文件时的问题。但也提供了一种解决办法,即通过在初始化事件('init')中去修改配置项。
最后,作者提供了通过创建监听事件来修改配置项的方法,指导用户如何创建事件并进行配置修改。
想要了解更多内容?
文章来源:
鲁飞
扫码关注公众号
没有了
上一篇
怎么复用 GitHub Actions 的 Workflows
下一篇
鲁飞的其他文章
新注册的域名被微信拦截怎么处理?
前段时间新注册了一个域名,没有在微信测试访问,等用到的时候发现居然被微信拦截了...
使用 COSCLI 快速迁移本地数据到 COS
在 GitHub 或者 Gitee 等其他地方“白嫖“存储难免会遇到无法访问的时候,例如前段时间 jsDelivr 就因为被 DNS 污染导致无法访问、Gitee 公开仓库私有...
MQTT 怎么在单独一个端口上分别使用 v3.x 和 v5.0 协议解析?
在 1883 端口上,同时处理 v3.1、v3.1.1 和 v5.0 这 3 种协议等级
通过微信开放平台授权获取公众号文章
如果想要实现一个将公众号文章搬运到某个社区中去发布的功能,除了使用爬虫等方法,还可以通过微信开放平台授权,调用官方接口来获取公众号文章。
怎么复用 GitHub Actions 的 Workflows
使工作流程可重复使用,而不是从一个工作流程复制并粘贴到另一个工作流程。 自己和有权访问可重用工作流程的任何人都可以从另一个工作流程调用可重用工作流程。
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线