我有一个情况。我有一个使用SQLAlchemy进行数据库活动的代码。并在flask,flask_restful中进行了访问db代码的应用程序。现在,通过单元测试进行测试时,我面临一些问题。我敢肯定这是因为Flask在请求完成后使连接保持打开状态。所以我想在我的代码中实现连接池检查。我经历了SQLAlchemy的连接池官方文档。这是我的任务-
因此在文档中写道,默认情况下,SQLAlchemy提供具有默认值的连接池,例如max_pool_size = 5,max_overflow =10。所以我的问题是我是否需要像这样传递参数= cnx = create_engine('连接字符串”(pool = queuepool)来调用默认行为,或者简单的create_enine('连接字符串')可以做到这一点?
flask软件包中是否有任何class \函数可以进行连接轮询?
任何人都可以共享具有此设置的任何代码\项目链接吗?(某些实际情况会有所帮助,而不是任何示例示例)
答案 0 :(得分:1)
SQLAlchemy默认情况下会进行连接池,这意味着它将在不指定行为的情况下执行该行为,build
就足够了。
如果您愿意,您可以选择一个特定的池类:https://docs.sqlalchemy.org/en/13/core/pooling.html#switching-pool-implementations
可用于完全禁用create_engine('connection_string')
的池。
来自SQLAlchemy文档:
NullPool