gpt4 book ai didi

python - 每当 mysql 服务重新启动时,uwsgi 如何重新建立与远程 mysql 数据库的连接

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

我有一个 python 网络应用程序,其中,应用程序连接到远程数据库。

应用:flask+uwsgi+nginx。

数据库:mysql(远程)。该应用程序公开了从远程数据库为其提供数据的 rest api。

数据库恢复后,每天都会在远程数据库中重新启动 mysql 服务。我的应用程序和远程数据库之间的连接中断,并开始抛出错误消息

MySQL server has gone away.

直到我在我的应用程序中手动重启 uwsgi 服务

sudo service uwsgi restart  

远程数据库中的 mysql 服务重启和我系统中的 uwsgi 服务重启之间的持续时间是停机时间

我的应用程序能否在 mysql 服务重启后立即重新建立连接?

请提出任何解决方案?

最佳答案

这实际上取决于您连接到数据库的方式

如果您使用的是流行的 ORM:

  • SQLAlchemy 对象关系管理

    engine = create_engine('mysql+mysqldb://...', pool_recycle=3600)

    如文档中所述 here

  • 皮威

    @app.before_request
    def _db_connect():
    database.connect()


    @app.teardown_request
    def _db_close(exc):
    if not database.is_closed():
    database.close()

    如文档中所述 here

这个问题在 mysql 文档中有深入的解释 here

关于python - 每当 mysql 服务重新启动时,uwsgi 如何重新建立与远程 mysql 数据库的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37456656/

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