Assicurati che il valore di "opzione pool_recycle" sia inferiore al valore di wait_timeout di MYSQL quando utilizzi la funzione "create_engine" di SQLAlchemy.
engine = create_engine("mysql://username:[email protected]/myDatabase", pool_recycle=3600)
Prova a utilizzare scoped_session
per fare la tua sessione:
from sqlalchemy.orm import scoped_session, sessionmaker
session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine))
e chiudi/rimuovi la tua sessione dopo aver recuperato i tuoi dati.
session.query(Foo).all()
session.close()