Đảm bảo giá trị của ‘pool_recycle option’ nhỏ hơn giá trị MYSQLs wait_timeout của bạn khi sử dụng hàm ‘create_engine’ của SQLAlchemy.
engine = create_engine("mysql://username:[email protected]/myDatabase", pool_recycle=3600)
Cố gắng sử dụng scoped_session
để thực hiện phiên của bạn:
from sqlalchemy.orm import scoped_session, sessionmaker
session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine))
và đóng / xóa phiên của bạn sau khi truy xuất dữ liệu của bạn.
session.query(Foo).all()
session.close()