Certifique-se de que o valor de ‘pool_recycle option’ seja menor que o valor wait_timeout do MYSQLs ao usar a função SQLAlchemy ‘create_engine’.
engine = create_engine("mysql://username:[email protected]/myDatabase", pool_recycle=3600)
Tente usar
scoped_session
para fazer sua sessão:from sqlalchemy.orm import scoped_session, sessionmaker
session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine))
e feche/remova sua sessão depois de recuperar seus dados.
session.query(Foo).all()
session.close()