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
下一篇
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
鲁飞的其他文章
JavaScript 如何实现在搜索中忽略变音符号
变音符号是指添加在字母上面的符号,以更改字母的发音或者以区分拼写相似词语。
使用Composer Scripts为依赖进行瘦身
常见的 SDK 都会将所有功能都集成在一个代码库中,本文以腾讯云开发者工具套件(SDK)3.0 为例。
Nginx目录浏览并进行美化
Nginx 作为一个高性能的 HTTP 和反向代理 web 服务器,默认不允许列出站点的整个目录,如果需要开启,可以通过配置打开此功能。
通过微信开放平台授权获取公众号文章
如果想要实现一个将公众号文章搬运到某个社区中去发布的功能,除了使用爬虫等方法,还可以通过微信开放平台授权,调用官方接口来获取公众号文章。
怎么使用默认的 PHP 执行 phar 包?
最近在开发一个安装程序的时候,打包为了 phar 包,遇到了一个问题就是打包后的 phar 包不能省略 php 去运行。
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线