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
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.