il semble que votre connexion MySQL expire après une longue période d'inactivité, je parie que cela n'arrivera pas si vous interrogez constamment votre base de données avec les paramètres existants. Il existe quelques paramètres côté MySQL et SQL qui devraient résoudre ce problème :
-
vérifiez le
pool_recycle
de votre moteur SQLa valeur, essayez une valeur différente / plus petite, par ex. 1800 (secondes). Si vous lisez les paramètres de la base de données à partir du fichier, définissez-le commepool_recycle :1800
sinon spécifiez-le lors de l'initialisation du moteur, par exemple
from sqlalchemy import create_engine
e = create_engine("mysql://user:[email protected]/db", pool_recycle=1800)
-
vérifier / modifier votre
wait_timeout
Variable MySQL, voir https://dev .mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout qui est le nombre de secondes pendant lesquelles le serveur attend une activité sur une connexion non interactive avant de la fermer. ex.afficher les variables globales comme 'wait_timeout' ;
trouvez une combinaison qui fonctionne pour votre environnement.