Уверете се, че стойността на ‘pool_recycle option’ е по-малка от стойността на wait_timeout на MYSQL, когато използвате функцията ‘create_engine’ на SQLAlchemy.
engine = create_engine("mysql://username:[email protected]/myDatabase", pool_recycle=3600)
Опитайте да използвате scoped_session
за да направите вашата сесия:
from sqlalchemy.orm import scoped_session, sessionmaker
session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine))
и затворете/премахнете вашата сесия след извличане на вашите данни.
session.query(Foo).all()
session.close()