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')中去修改配置项。
最后,作者提供了通过创建监听事件来修改配置项的方法,指导用户如何创建事件并进行配置修改。
鲁飞
鲁飞
扫码关注公众号
没有了
上一篇
怎么复用 GitHub Actions 的 Workflows
下一篇
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
鲁飞的其他文章
Nginx目录浏览并进行美化
Nginx 作为一个高性能的 HTTP 和反向代理 web 服务器,默认不允许列出站点的整个目录,如果需要开启,可以通过配置打开此功能。
怎么分别给公司和个人项目设置 Git User?
从第一天使用 Git 开始,每个人都逃不过这个配置
解决 macOS 下 PostgreSQL 服务启动失败
使用 brew 安装的 PostgreSQL 服务,不知道什么时候升级了版本...
simps/mqtt:适用于 PHP 的 MQTT 协议解析和协程客户端
也许这是第一个支持 MQTT v5.0 协议的 PHP library…
通过微信开放平台授权获取公众号文章
如果想要实现一个将公众号文章搬运到某个社区中去发布的功能,除了使用爬虫等方法,还可以通过微信开放平台授权,调用官方接口来获取公众号文章。
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线