Notion Blog
知行合一1 分钟阅读

apscheduler运行定时任务出现报错:2006, "MySQL server has gone away (ConnectionResetError(104, 'Connection reset by peer'))"

由于Mysql的wait_timeout参数默认设置为8小时,而在我的项目中较少使用,因此8小时后连接会超时。当试图执行查询时,就会出现错误提示:"MySQL server has gone away (ConnectionResetError(104, 'Connection reset by peer'))"

解决办法:

在进行数据库操作前应确保已经关闭了当前连接,而当需要重新执行操作时,系统会自动创建新的连接。这样的处理方式可以确保操作的连贯性和准确性。

代码示例:

from django.db import close_old_connections

def run(id):
    close_old_connections()
    XXXX 数据库操作

在这个示例中,close_old_connections()函数用于关闭当前连接,并在需要时自动创建新连接。这样可以避免出现"MySQL server has gone away"错误。

有关使用上的问题,欢迎您在底部评论区留言,一起交流~

读者评论

评论会同步写入该文在 Notion 中的页面底部(与正文同页,便于管理)。

0/1500

暂无评论,欢迎抢沙发。