问题如上,确实困扰了我很久的一个问题,这个问题很可能是由于开启的会话session不是复用的(可以考虑使用scoped_session来实现,这个我没有验证过),然后太多的session可能导致再次请求数据库时会发生拥堵,此时就需要将这些session产生的数据库连接回收掉,mysql默认的回收时间是8个小时,也就是28800秒,我这里设置为了60s然后问题解决
在这里插入图片描述
具体的代码就是在生成create_engine的时候进行添加:

self.engine = create_engine(f"mysql+pymysql://{user}:{password}@{host}:{port}/{database}?charset=utf8",pool_size=25,pool_recycle=60)
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐