Wypróbowałem kilka różnych pętli try/catch, aby spróbować rozwiązać problemy automatycznie, ale zawsze wydają się powodować śmierć oprogramowania.Spróbuj ponownie/złap, gdy się zawiedzie
$doLoop = true;
while ($doLoop) {
try {
//do a thing
insertIntoDb($data);
} catch (Exception $e) {
//try again
insertIntoDb($data);
//write error to file
writeError($e);
}
}
Oto mój oryginalny try/catch.
Kwestia jest czasami serwer MySQL "odchodzi" i muszę złapać ten wyjątek i kontynuować ponawianie aż do powrotu.
Co mogę tu zmienić, aby kontynuować próbę, aż do skutku?
byłeś bardzo blisko rozwiązania :) – dynamic
Prosiłbym, abyś spojrzał na "dlaczego twój serwer MySQL" znika. " Jedna z definicji szaleństwa próbuje tego samego w kółko, oczekując różnych rezultatów. – sjagr
Jeśli twoja db czasami "odchodzi", to twoim rozwiązaniem nie powinno być powtarzanie się w PHP, powinno to naprawić problem z łącznością. Ten kod to nieskończona pętla, która czeka, aby się wydarzyć. –