Think-Swoole如何设置Swoole提供的配置项
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
鲁飞
扫码关注公众号
扫码阅读
手机扫码阅读
摘要
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')中去修改配置项。
最后,作者提供了通过创建监听事件来修改配置项的方法,指导用户如何创建事件并进行配置修改。
鲁飞
鲁飞
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
鲁飞的其他文章
对接腾讯云实时音视频(TRTC)云端录制
使用腾讯云TRTC的服务端的 REST API 实现云端录制。
simps/mqtt v1.1.1 版本发布,支持 MQTT5 中的大部分 Property
在 MQTT 5.0 协议中增加了很多属性。不同的报文类型之间,属性也会不同,一共有 27 种属性。
MySQL 字符集与大小写敏感性解析
在 MySQL 数据库中,UTF-8 及其变体是最常用的字符集。
使用 acme.sh 自动申请并更新泛域名证书
通过 acme.sh,不仅可以快速申请泛域名证书,还能轻松实现自动更新,降低了 SSL 证书管理的复杂度。
微信扫描带参数的二维码事件推送返回 qrscene_0
在调用微信接口时需要注意数据格式,不要只关注参数
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线