扫码阅读
手机扫码阅读

Think-Swoole如何设置Swoole提供的配置项

543 2024-02-23

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文: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')中去修改配置项。

最后,作者提供了通过创建监听事件来修改配置项的方法,指导用户如何创建事件并进行配置修改。

想要了解更多内容?

查看原文:Think-Swoole如何设置Swoole提供的配置项
文章来源:
鲁飞
扫码关注公众号