【发布时间】:2018-07-09 02:38:18
【问题描述】:
我是Python和Flask的新手,我用的是Oracle,在学习Flask教程时,我的代码如下,但是味道很糟糕,请帮我解决这些问题,非常感谢!
1) 我需要释放连接才能显式轮询吗?
2) 如何优雅地实现 poll 获取和释放?
def get_dbpool():
if not hasattr(g, 'db_pool'):
g.dbPool = connect_db()
return g.dbPool
@app.teardown_appcontext
def close_db(error):
if hasattr(g, 'db_pool'):
g.dbPool.close()
@app.route('/')
def hello_world():
db = get_dbpool().acquire()
cursor=db.cursor()
sql=''
cursor.execute(sql)
rows = cursor.fetchall()
cursor.close()
get_dbpool().release(db)
return json.jsonify(combines=rows)
【问题讨论】: