Det ser ud til, at din MySQL-forbindelse er ved at udløbe efter en lang periode med inaktivitet, jeg vil vædde på, at det ikke sker, hvis du konstant forespørger på din DB med eksisterende indstillinger. Der er et par indstillinger på både MySQL og sql sider, som burde løse dette problem:
-
tjek din SQLa-motors
pool_recycle
værdi, prøv anden/mindre værdi, f.eks. 1800 (sek.). Hvis du læser DB-indstillinger fra fil, skal du indstille den sompool_recycle:1800
ellers specificer det under motorstart, f.eks.
from sqlalchemy import create_engine
e = create_engine("mysql://user:[email protected]/db", pool_recycle=1800)
-
tjek/rediger din
wait_timeout
MySQL-variabel, se https://dev .mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout som er det antal sekunder, serveren venter på aktivitet på en ikke-interaktiv forbindelse, før den lukkes. f.eks.vis globale variabler som 'wait_timeout';
find en kombination, der virker for dit miljø.