gpt4 book ai didi

python - 由于 QueuePool 溢出限制,Flask SqlAlchemy MySQL 连接超时

转载 作者:行者123 更新时间:2023-11-29 11:25:29 27 4
gpt4 key购买 nike

请帮助我解决第 16 个数据库连接时遇到的以下错误。 Stackoverflow 上的其他答案似乎都不起作用:

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

后端配置:

  • Python 2.6.9
  • flask 0.10.1
  • Flask-SQLAlchemy 2.1
  • Mysql-connector-python 1.0.12
  • Mysql 5.6.27

数据库设置:

connection_str = 'mysql+mysqlconnector://%s:%s@%s:%s/%s' % (config["DATABASE_USER"], config["DATABASE_PASSWORD"], \
config["DATABASE_HOST"], config["DATABASE_PORT"], \
config["DATABASE_SCHEMA1"])
engine = create_engine(connection_str, convert_unicode=True, pool_recycle=config["DATABASE_POOL_RECYCLE"])
db_session = scoped_session(sessionmaker(autocommit=False,
autoflush=False,
bind=engine))

Base = declarative_base()
Base.query = db_session.query_property()

import application_package.models
Base.metadata.create_all(bind=engine)


@app.teardown_appcontext
def shutdown_session(exception=None):
db_session.remove()

最佳答案

我意识到问题是我创建了一个单独的线程池,其中的线程没有终止,并且即使在响应返回到客户端之后也保持所有数据库连接打开。这是一个糟糕的黑客和糟糕的主意。我打算摆脱这个线程池并使用celery来调度异步任务。

关于python - 由于 QueuePool 溢出限制,Flask SqlAlchemy MySQL 连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38295770/

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