SQLAlchemy提出了QueuePool限制,大小为10溢出10达到,连接超时一段时间后

时间:2016-08-08 06:49:07

标签: python flask sqlalchemy flask-sqlalchemy

使用Flask-SQLAlchemy时,我得到错误'QueuePool达到大小10溢出10的限制,连接超时'一段时间后一致。我试图增加连接池大小,但它只是推迟了问题。

def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)
    initialize_db(app)

db = SQLAlchemy()

def initialize_db(app):
    db.init_app(app)

SQLALCHEMY_POOL_SIZE = 100

1 个答案:

答案 0 :(得分:0)

我刚遇到这个问题。

我的情况

  • 我还没有推出我的网站,所以我花了几乎所有的时间与本地版本进行交互,这是从PyCharm(即在我的计算机上)运行的,所以我只注意到我本地的错误该网站的版本,我甚至没有尝试查看它是否也会发生在PythonAnywhere托管的网站生产版本上。
  • 我正在使用MySQL数据库。
  • IIRC当我从前端JavaScript开始频繁(每10秒)API调用时,我首先注意到了这个问题。
  • 我的debug=False中有app.run(),所以它不是由debug=True引起的,这是其他地方建议的。

我是如何修理的

当我在threaded=True中摆脱app.run()时,问题就消失了。

  • 所以,之前它看起来像这样:
    • app.run(debug=False, threaded=True)
  • 我改变它看起来像这样:
    • app.run(debug=False)