Logic tương tự cho sqlalchemy.orm, (dựa trên flask_sqlalchemy btw)
engine = sqlalchemy.create_engine(connection_string, pool_pre_ping=True)
Có thể thiết lập thêm các chiến lược bảo vệ, chẳng hạn như nó được mô tả trong tài liệu:https://docs.sqlalchemy.org/en/13/core/pooling.html#disconnect-handling-pessimistic
Ví dụ:đây là phần tạo động cơ của tôi:
engine = sqlalchemy.create_engine(connection_string,
pool_size=10,
max_overflow=2,
pool_recycle=300,
pool_pre_ping=True,
pool_use_lifo=True)
sqlalchemy.orm.sessionmaker(bind=engine, query_cls=RetryingQuery)
Đối với mã RetryingQuery, cf:Thử lại các truy vấn sqlalchemy không thành công