在请求处理过程中,Web.py是否有办法检测和处理用户关闭的连接?
我尝试设置unloadhook处理程序,但在这种情况下不会调用它。只有在请求成功完成后才会调用它:
class handler:
def __init__(self):
pass
def GET(self):
try:
while(True):
pass
except Exception, e:
logger.debug(e)
def unload():
logger.debug('unloaded')
try:
app = web.application(urls, globals())
app.add_processor(web.unloadhook(unload))
application = app.wsgifunc()
except Exception, e:
logger.debug(e)
我在浏览器中打开应用程序,当它在while循环中开始旋转时,我打破了请求,但没有抛出任何异常。
答案 0 :(得分:1)
设置超时,并捕获专门涵盖已关闭连接情况的异常类型。
答案 1 :(得分:1)
由于Web服务器和WSGI本身的工作方式,通常没有可靠的方法。有关解释,请阅读:
http://groups.google.com/group/modwsgi/browse_frm/thread/8ebd9aca9d317ac9