gpt4 book ai didi

database - 如果连接断开或超时,则刷新数据库连接

转载 作者:太空狗 更新时间:2023-10-30 01:42:38 26 4
gpt4 key购买 nike

我有一个 Symfony 命令行任务,它习惯于断开 mysql 连接。

这是一个数据导入任务。从多个连接中获取数据。这不是一个大查询,而是一些较小的查询。

它似乎在第一次运行时断开了连接。剧本的一半左右。然而它第二次运行(从头开始)它总是完成任务。

查询没有超时,因为我得到的错误响应是连接已断开并且它自己运行正常。所以我认为它在第二次运行时由于查询缓存加速了脚本而避免了某种超时问题。

所以我的问题是如何刷新数据库连接?

[Doctrine\DBAL\DBALException]
SQLSTATE[HY000]: General error: 2013 Lost connection to MySQL server during query

最佳答案

另一种方法是通过连接中的 ping() 方法检查 Doctrine 是否仍然连接到 MySQL 服务器。如果连接丢失,请关闭事件连接,因为它尚未真正关闭并启动一个新连接。

if(FALSE == $em->getConnection()->ping()){
$em->getConnection()->close();
$em->getConnection()->connect();
}

关于database - 如果连接断开或超时,则刷新数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16233835/

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