wygląda na to, że Twoje połączenie MySQL wygasa po długim okresie braku aktywności, założę się, że tak się nie stanie, jeśli ciągle wysyłasz zapytania do bazy danych z istniejącymi ustawieniami. Istnieje kilka ustawień po stronie MySQL i sql, które powinny rozwiązać ten problem:
-
sprawdź
pool_recycle
swojego silnika SQLa wartość, wypróbuj inną / mniejszą wartość, np. 1800 (sek.). Jeśli czytasz ustawienia bazy danych z pliku, ustaw go jakopool_recycle:1800
w przeciwnym razie określ go podczas inicjowania silnika, np.
from sqlalchemy import create_engine
e = create_engine("mysql://user:[email protected]/db", pool_recycle=1800)
-
sprawdź / zmodyfikuj swój
wait_timeout
Zmienna MySQL, zobacz https://dev .mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout czyli liczba sekund, przez które serwer czeka na aktywność w połączeniu nieinteraktywnym przed jego zamknięciem. np.pokaż zmienne globalne, takie jak „wait_timeout”;
znajdź kombinację, która działa w Twoim środowisku.