В своем проекте столкнулся с ситуацией, когда демону приходится долго ждать до выполнения sql-запроса. В этом случае у меня экземпляр класса соединения с БД продолжал существовать, но соединение в нем рвалось.
Решил проблему проверкой соединения непосредственно перед выполнением запроса.
private function checkMysqli()
{
if (!$this->mysqli->ping()) {
$this->__construct();
}
}
$this->mysqli содержит экземпляр класса mysqli, созданный конструктором обертки БД.