gpt4 book ai didi

python - Flask-SQLAlchemy 超时错误

转载 作者:太空狗 更新时间:2023-10-30 02:04:52 25 4
gpt4 key购买 nike

我的后端配置是:

  • Ubuntu 12.04
  • python 2.7
  • flask 0.9
  • Flask-SQLAlchemy
  • Postgres 9.2

我收到此错误消息:

TimeoutError: QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout 30

我需要明确关闭 db.session 吗?当 session 超出范围时,不应该连接回池吗?

最佳答案

如果您在应用程序中使用 debug=True 并且加载了多个出错的页面或 API 端点,则可能会发生这种情况。

原因是运行应用程序的调试版本会在错误页面中保持实时调试器处于打开状态。这个实时调试器阻止所有资源处理请求,以便您可以检查它们。这意味着无法回收数据库连接。

你不应该为你的应用程序的生产版本使用 Debug模式(除了像这样的问题它是一个安全风险),调试器通常不会工作(它被设计用于 flask 测试服务器,不适用于 gunicorn)。因此在产品中,解决方案是关闭调试。

如果您在使用 Debug模式的开发中遇到此问题 - 这是一个限制。你不应该如此努力地打击开发服务器,或者你可以增加限制。请注意,在正确回收时,15 个连接通常足以满足大量并发请求。只有在调试中它们才会耗尽。

关于python - Flask-SQLAlchemy 超时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16636067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com