当前位置:  开发笔记 > 编程语言 > 正文

Peewee MySQL服务器已经消失

如何解决《PeeweeMySQL服务器已经消失》经验,为你挑选了1个好方法。

我用烧瓶和小便.有时peewee会抛出这个错误

MySQL server has gone away (error(32, 'Broken pipe'))

Peewee数据库连接

db = PooledMySQLDatabase(database,**{
            "passwd": password, "user": user,
            "max_connections":None,"stale_timeout":None,
            "threadlocals" : True
        })

@app.before_request
def before_request():
    db.connect()

@app.teardown_request
def teardown_request(exception):
    db.close()

在mysql错误"MySQL服务器已经消失(错误(32,'Broken pipe'))"之后,选择查询工作没有问题,但插入,更新,删除查询不起作用.

在插入,更新,删除查询后面工作(在mysql中)但是peewee抛出这个错误.

(2006, "MySQL server has gone away (error(32, 'Broken pipe'))")

lord63. j.. 5

peewee文档已经讨论过这个问题,这里是链接:错误2006:MySQL服务器已经消失

当MySQL终止空闲数据库连接时,可能会发生此特定错误.这通常发生在未明确管理数据库连接的Web应用程序中.当您的应用程序启动时,会打开一个连接以处理执行的第一个查询,并且由于该连接从未关闭,因此它将保持打开状态,等待更多查询.

因此,您在管理数据库连接时遇到一些问题.


由于我无法重现您的问题,您可以尝试这个,以这种方式关闭您的数据库:

@app.teardown_appcontext
def close_database(error):
    db.close()

您可以从doc获得一些信息:第3步:数据库连接



1> lord63. j..:

peewee文档已经讨论过这个问题,这里是链接:错误2006:MySQL服务器已经消失

当MySQL终止空闲数据库连接时,可能会发生此特定错误.这通常发生在未明确管理数据库连接的Web应用程序中.当您的应用程序启动时,会打开一个连接以处理执行的第一个查询,并且由于该连接从未关闭,因此它将保持打开状态,等待更多查询.

因此,您在管理数据库连接时遇到一些问题.


由于我无法重现您的问题,您可以尝试这个,以这种方式关闭您的数据库:

@app.teardown_appcontext
def close_database(error):
    db.close()

您可以从doc获得一些信息:第3步:数据库连接

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有