het lijkt erop dat je MySQL-verbinding een time-out heeft na een lange periode van inactiviteit, ik wed dat dit niet zal gebeuren als je constant je DB opvraagt met bestaande instellingen. Er zijn een aantal instellingen aan zowel de MySQL- als de sql-zijde die dit probleem zouden moeten oplossen:
-
controleer de
pool_recycle
van uw SQLa-engine waarde, probeer een andere / kleinere waarde, b.v. 1800 (sec). Als u DB-instellingen uit een bestand leest, stelt u deze in alspool_recycle:1800
geef het anders op tijdens het opstarten van de motor, bijv.
from sqlalchemy import create_engine
e = create_engine("mysql://user:[email protected]/db", pool_recycle=1800)
-
controleer / wijzig uw
wait_timeout
MySQL-variabele, zie https://dev .mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout dat is het aantal seconden dat de server wacht op activiteit op een niet-interactieve verbinding voordat deze wordt gesloten. bijv.toon globale variabelen zoals 'wait_timeout';
vind een combinatie die werkt voor uw omgeving.