Flask-SQLAlchemy resourceclosederror

时间:2016-02-12 23:17:56

标签: python flask-sqlalchemy pymssql

我有以下项目结构
- app
---> settings.py
--->的初始化的.py
- 型号
--->的初始化的.py
---> config.py
- module1
--->的初始化的.py
---> utils.py

[app]
SQLALCHEMY_DATABASE_URI = 'mysql://....'
SQLALCHEMY_BINDS = {
    "db01": 'mssql://...'
    "db02": 'mssql://...'
}
SQLALCHEMY_POOL_TIMEOUT = 60  

[__init__.py]
..
from flask.ext.sqlalchemy import SQLAlchemy
..
app = Flask("myapp")
app.config.from_object('app.settings')

sql = SQLAlchemy(app)

@app.before_request
def before_request():
    pass

@app.after_request
def after_request(response):
    return response

@app.teardown_request
def teardown_request(exception):
    sql.session.remove()

[model]
[config.py]
from app import sql

class Sample(sql.model):
    __tablename__ = "sample"
    __bind__ = "db01"
    id = sql.Column("Id",sql.Integer,primary_key = True)
    value = sql.Column("Value",sql.String)  
[module1]  
[utils.py]  
from app import sql  
from model import Sample  

data = sql.session.query(Sample).all()  

我面临的问题是我经常遇到“ResourceClosedError”

根据我对错误的理解,烧瓶尝试使用它认为可以但已被数据库关闭的连接。有没有办法在每次发出请求时明确指示flask使用新连接,或者甚至更好地检查连接是否存活以及是否未打开新连接? 另请注意,使用的网络服务器是gunicorn而不是Flask的

0 个答案:

没有答案