gpt4 book ai didi

python - 连接池 - SQLAlchemy 和 Flask

转载 作者:行者123 更新时间:2023-12-01 08:31:45 27 4
gpt4 key购买 nike

我有一个情况。我有一个使用 SQLAlchemy 进行数据库事件的代码。并在flask、flask_restful中制作应用程序来访问数据库代码。现在,在通过单元测试进行测试时,我遇到了一些问题。我确信这是因为 Flask 在请求完成后保持连接打开。所以我想在我的代码中实现连接池来检查。我浏览了 SQLAlchemy 的连接池官方文档。这是我的问题 -

  • 因此,在文档中写道,默认情况下 SQLAlchemy 提供默认连接池,例如 max_pool_size = 5、max_overflow = 10。所以我的问题是我是否需要传递这样的参数 = cnx = create_engine('连接字符串', pool=queuepool) 来调用默认行为还是简单的 create_enine('连接字符串') 就可以做到这一点?

  • flask包中有没有类\函数来进行连接轮询?

  • 任何人都可以分享具有此设置的任何代码\项目链接吗?(一些实际场景会有所帮助,而不是任何示例示例)

最佳答案

SQLAlchemy 默认情况下会进行连接池,这意味着它会在不指定的情况下执行该行为,create_engine('connection_string') 就足够了。

如果您愿意,您可以选择特定的池类:https://docs.sqlalchemy.org/en/13/core/pooling.html#switching-pool-implementations

这可用于通过 NullPool 完全禁用池化。

来自 SQLAlchemy 文档:

from sqlalchemy.pool import NullPool
engine = create_engine(
'postgresql+psycopg2://scott:tiger@localhost/test',
poolclass=NullPool)

关于python - 连接池 - SQLAlchemy 和 Flask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53891617/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com