SQLAlchemy pool_size的会话选项密钥是什么?

时间:2015-11-12 20:10:52

标签: python mysql flask sqlalchemy flask-sqlalchemy

从Python Flask应用程序连接到MySQL时,我正在尝试增加连接池大小。首先,我得到一个错误“TimeoutError:QueuePool限制大小10溢出10达到”所以试图通过传递session_options来增加池大小,如下所示。现在我收到一个错误“TypeError: init ()得到了一个意外的关键字参数'pool_size'”。关于如何增加池大小的任何想法?

from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app, session_options={'pool_size': 20})

2 个答案:

答案 0 :(得分:1)

您可以设置SQLALCHEMY_POOL_SIZE配置密钥:https://pythonhosted.org/Flask-SQLAlchemy/config.html#configuration-keys

app = Flask(__name__)
app.config['SQLALCHEMY_POOL_SIZE'] = 20
db = SQLAlchemy(app)

答案 1 :(得分:1)

版本3.0+(currently in development)中将弃用配置密钥SQLALCHEMY_POOL_SIZE

或者,您可以使用SQLALCHEMY_ENGINE_OPTIONS配置键来配置池的大小。

app = Flask(__name__)
app.config['SQLALCHEMY_ENGINE_OPTIONS'] = {
    'pool_size': 20,
}
db = SQLAlchemy(app)