sqlalchemy.exc.TimeoutError: QueuePool limit of size 10 overflow 10 reached, connection timed out, timeout 30 (Background on this error at: http://sqlalche.me/e/3o7r)
我试了一下, 每一次访问某个 api, 这个 api 就使用 query.filter(xxx).first() 来查询数据库,并没有事物操作,
然后我在 mysql 中使用SELECT * FROM information_schema.INNODB_TRX;来查看当前有哪些事物,
然后每使用一次 api, SELECT * FROM information_schema.INNODB_TRX;就会多一条记录,
当这些记录达到 20 条时, 就会报如上的错误,api 也就无法访问了,
然后过了一段时间之后,这些记录会自动清除,
在网上实在是没有找到解决办法, 如果有遇到过这问题的不胜感激, 我在项目中的 sqlalchemy 配置如下几个选项:
SQLALCHEMY_DATABASE_URI SQLALCHEMY_TRACK_MODIFICATIONS SQLALCHEMY_ECHO