【发布时间】:2017-09-05 11:22:10
【问题描述】:
我有一个运行时间很长的命令控制器/调度程序作业,在最后访问数据库。使用标准的 MySQL 超时设置,它会运行到“MySQL 服务器已消失”。增加超时我可以规避错误。但是,我想解决这个问题。如何重新连接到数据库(TYPO3 7.6)?
我试过了
$GLOBALS['TYPO3_DB']->connectDB();
但这不起作用。
【问题讨论】:
我有一个运行时间很长的命令控制器/调度程序作业,在最后访问数据库。使用标准的 MySQL 超时设置,它会运行到“MySQL 服务器已消失”。增加超时我可以规避错误。但是,我想解决这个问题。如何重新连接到数据库(TYPO3 7.6)?
我试过了
$GLOBALS['TYPO3_DB']->connectDB();
但这不起作用。
【问题讨论】:
如果连接超时,TYPO3 的DatabaseConnection::$isConnected 中的状态仍然设置。您可以尝试以下方法:
// isConnected() sends a ping and modifies internal $isConnected property
if (!$GLOBALS['TYPO3_DB']->isConnected()) {
// re-connect to database if required
$GLOBALS['TYPO3_DB']->connectDB();
}
【讨论】: