次のような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()
Seems it works fine. But I'm not sure about one thing. I create a MongoClient instance (and connection to db) in every view call. But should I close connection?
Maybe I should close connection after each view call, like this:
@app.before_request
def before_request():
g.db = get_db()
@app.teardown_request
def teardown_request(exception):
g.db.close()
How do you handle this stuff?