teardown_request() 如何与 Python- Flask 一起使用?
How teardown_request() works with Python- Flask?
我收到内部错误消息:
"TimeoutError: QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout 30"
在线搜索得到 teardown_request() 解决方案:
@app.teardown_request
def checkin_db(exc):
try:
print "Removing db session."
db.session.remove()
except AttributeError:
pass
现在超时错误消失了。但是我没有完全理解 teardown_request ,看起来 db.session.remove() 会在每次请求后调用?还是每一个错误?使用此代码安全吗?
teardown_request
注册一个在每个请求结束时调用的函数,无论它是成功的还是引发了异常。这是清理请求范围对象(如数据库)的好地方 session/transaction。这就是您的代码示例所做的全部。
使用该代码是安全的,db.session.remove()
将在 每个 请求后调用(即使在请求期间发生异常)
有关详细信息,请参阅 Flask Callbacks and Errors and Flask.teardown_request
我收到内部错误消息:
"TimeoutError: QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout 30"
在线搜索得到 teardown_request() 解决方案:
@app.teardown_request
def checkin_db(exc):
try:
print "Removing db session."
db.session.remove()
except AttributeError:
pass
现在超时错误消失了。但是我没有完全理解 teardown_request ,看起来 db.session.remove() 会在每次请求后调用?还是每一个错误?使用此代码安全吗?
teardown_request
注册一个在每个请求结束时调用的函数,无论它是成功的还是引发了异常。这是清理请求范围对象(如数据库)的好地方 session/transaction。这就是您的代码示例所做的全部。
使用该代码是安全的,db.session.remove()
将在 每个 请求后调用(即使在请求期间发生异常)
有关详细信息,请参阅 Flask Callbacks and Errors and Flask.teardown_request