gpt4 book ai didi

python - 几个小时后 Django + PyMySQL 抛出 "MySQL server has gone away"

转载 作者:行者123 更新时间:2023-11-29 07:35:42 26 4
gpt4 key购买 nike

我的 Django 1.6 应用程序 (Python3) 中有一个模块,它像守护进程一样运行,但在运行几个小时后抛出此错误:

OperationalError: (2006, "MySQL server has gone away (BrokenPipeError(32, 'Broken pipe'))")

MySQL 连接中似乎存在一个自动重新连接的标志 MYSQL_OPT_RECONNECT ,我应该设置它吗?在哪里?我正在使用 PyMySQL 连接器(通过在主 __init__.py 中运行 pymysql.install_as_MySQLdb())。

最佳答案

我们必须在抛出错误时捕获该错误,并调用 django.db.connection.close()重新连接。

from django.db import connection
from django.db.utils import OperationalError
...
try:
function_that_uses_database_connection()
except OperationalError:
connection.close()
function_that_uses_database_connection()

虽然我没有找到让它自动执行的方法,但它完成了这项工作。

关于python - 几个小时后 Django + PyMySQL 抛出 "MySQL server has gone away",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30898068/

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