Stellen Sie sicher, dass der Wert von „pool_recycle option“ kleiner ist als Ihr MYSQL-wait_timeout-Wert, wenn Sie die SQLAlchemy-Funktion „create_engine“ verwenden.
engine = create_engine("mysql://username:[email protected]/myDatabase", pool_recycle=3600)
Versuchen Sie, scoped_session
zu verwenden So machen Sie Ihre Sitzung:
from sqlalchemy.orm import scoped_session, sessionmaker
session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine))
und schließen/entfernen Sie Ihre Sitzung, nachdem Sie Ihre Daten abgerufen haben.
session.query(Foo).all()
session.close()