Ich habe ein Shell-Skript, das kontinuierlich auf einer Schleife läuft.cakephp 3.1 mysql ist weggegangen
Es prüft die Datenbank auf Datensätze und ändert sie bei Bedarf.
set_time_limit(0);
while(true){
try{
$this->out(mysql_ping());
$companies = $this->findCompanies();
$companies = $this->reduceCompanies($companies, $rules);
$this->processCompanies($companies);
}catch (\Exception $e){
Log::write('debug', $e->getMessage());
$this->out($e->getMessage());
}
sleep(3);
}
Problem das ich habe, ist dieses Skript auszuführen scheint ok, aber dann wird zufällig werfen: ‚2006 MySQL-Server weggegangen hat:‘ Ich habe versucht, einige Sachen in der Ausnahme Fang zu setzen, um wieder zum mySQL-Server wie zum Beispiel:
}catch (\Exception $e){
if(!mysql_ping()){//tried
$this->connection->reconnect(); //also tried
$this->Company->getDatasource()->reconnect(); neither seem to work.
}}
Irgendwelche Vorschläge, wie man die DB verbinden?
ich ein ähnliches Problem konfrontiert bin, müssen wir, um die Ursache zu bekommen davon sollte dies idealerweise nicht passieren :( –