gpt4 book ai didi

python - Flask SQLAlchemy (mysql) 连接关闭(连接超时)

转载 作者:行者123 更新时间:2023-11-30 21:28:23 27 4
gpt4 key购买 nike

我正在使用 Flask SQLAlchemy 连接到我的 mysql 数据库,但它有默认的 wait_timeout 120 秒,所以在我查询我的用户并且网络有一段时间没有使用后我得到一个错误

(2013, 'Lost connection to MySQL server during query')

我的 db.py

的重要部分
app = Flask(__name__)
db = SQLAlchemy(app)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://urltomyserver'
app.config['SQLALCHEMY_POOL_RECYCLE'] = 10
app.config['SQLALCHEMY_POOL_TIMEOUT'] = 120
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app)

if __name__ == 'createdb':
db.reflect()
db.drop_all()
db = SQLAlchemy(app)

还有我的views.py

  @core.route('/')
def index():
userzy = sftpuser.query.all()
return render_template('index.html', userzy=userzy)
#I'D LIKE TO CLOSE MY CONNECTION HERE

我在 def index 中返回模板后尝试了这些

  db.session.close()
db.close()
db.dispose()
db.session.close()
db.engine.dispose()
db.session.commit()

还有这个

@app.teardown_appcontext
def teardown_db(error):
db.session.close()
db.engine.dispose()

但它对我没有太大帮助,任何人都知道解决方案,为什么即使我设置了池,我仍然会不断出错?

最佳答案

您是否尝试更改此配置:app.config['SQLALCHEMY POOL_TIMEOUT'] = 120???

关于python - Flask SQLAlchemy (mysql) 连接关闭(连接超时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57624119/

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