我有 Flask 应用程序,它看起来像这样:
from flask import Flask
app = Flask(__name__)
from pymongo import MongoClient
def get_db():
c = MongoClient()
return c.mydb
@app.route("/")
def hello():
db = get_db()
db.foo.find_one(...)
...
if __name__ == "__main__":
app.run()
似乎它工作正常。但我不确定一件事。我在每个视图调用中创建一个 MongoClient 实例(并连接到 db)。但是我应该关闭连接吗?
也许我应该在每次视图调用后关闭连接,如下所示:
@app.before_request
def before_request():
g.db = get_db()
@app.teardown_request
def teardown_request(exception):
g.db.close()
你怎么处理这些东西?