sembra che la tua connessione MySQL stia scadendo dopo un lungo periodo di inattività, scommetto che non accadrà se esegui costantemente query sul tuo DB con le impostazioni esistenti. Ci sono un paio di impostazioni su entrambi i lati MySQL e sql che dovrebbero risolvere questo problema:
-
controlla
pool_recycle
del tuo motore SQLa valore, provare un valore diverso/minore, ad es. 1800 (sec.). Se stai leggendo le impostazioni DB dal file, impostalo comepool_recycle:1800
altrimenti specificarlo durante l'inizializzazione del motore, ad es.
from sqlalchemy import create_engine
e = create_engine("mysql://user:[email protected]/db", pool_recycle=1800)
-
controlla/modifica il tuo
wait_timeout
Variabile MySQL, vedere https://dev .mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout che è il numero di secondi che il server attende per l'attività su una connessione non interattiva prima di chiuderla. es.mostra variabili globali come 'wait_timeout';
trova una combinazione che funzioni per il tuo ambiente.