vypadá to, že vaše připojení MySQL po dlouhé době nečinnosti vyprší, vsadím se, že se to nestane, pokud budete neustále dotazovat svou databázi se stávajícími nastaveními. Existuje několik nastavení na straně MySQL i SQL, která by měla tento problém vyřešit:
-
zkontrolujte
pool_recycle
vašeho enginu SQLa hodnotu, zkuste jinou / menší hodnotu, např. 1800 (s). Pokud čtete nastavení DB ze souboru, nastavte jej jakopool_recycle:1800
jinak jej specifikujte během spouštění motoru, např.
from sqlalchemy import create_engine
e = create_engine("mysql://user:[email protected]/db", pool_recycle=1800)
-
zkontrolujte / upravte svůj
wait_timeout
Proměnná MySQL, viz https://dev .mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout což je počet sekund, po které server čeká na aktivitu u neinteraktivního připojení, než jej uzavře. např.zobrazit globální proměnné jako 'wait_timeout';
najděte kombinaci, která vyhovuje vašemu prostředí.