I have a quite long running command controller/scheduler job, accessing the database at the very end. With standard MySQL timeout settings it runs into a "MySQL Server has gone away". Increasing the timeout I can circumvent the error. However, I'd like to fix the problem. How can I reconnect to the db (TYPO3 7.6)?
I tried
$GLOBALS['TYPO3_DB']->connectDB();
but this did not work.
If the connection times out the state in TYPO3's DatabaseConnection::$isConnected
is still set. You could try the following:
// isConnected() sends a ping and modifies internal $isConnected property
if (!$GLOBALS['TYPO3_DB']->isConnected()) {
// re-connect to database if required
$GLOBALS['TYPO3_DB']->connectDB();
}