我试图了解如何限制会话数量,或者是否有办法在SQL Alchemy会话池中设置最大数量的资源。我正在使用遗留代码库来初始化SessionPool,如下所示。我不确定这是否重要,但我们在应用程序中使用Flask。
from sql import config as sqla_config
if Session.registry.has():
db_session = Session()
if db_session is None:
engine = sqla_config.get_engine("my-db", "primary", role=None)
db_session = Session(bind=engine)
return db_session
我想限制可以创建的会话数。我怎样才能做到这一点?这是一个遗留代码库,所以我可以做出的改变有限。我知道QueuedPool,但我不知道如何在这种情况下使用它。
答案 0 :(得分:0)
根据source code。您可以在flask配置中设置以下变量以实现您的目标:
SQLALCHEMY_POOL_SIZE
SQLALCHEMY_POOL_TIMEOUT
SQLALCHEMY_POOL_RECYCLE
SQLALCHEMY_MAX_OVERFLOW