2

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 循环中开始旋转时,我中断了请求,但没有抛出异常。

4

2 回答 2

1

设置一个超时,并捕获一个专门涵盖关闭连接情况的异常类型。

请参阅Python 中的异常处理

于 2009-10-20T19:05:24.780 回答
1

由于 Web 服务器和 WSGI 本身的工作方式,通常没有可靠的方法来做到这一点。有关解释,请阅读:

http://groups.google.com/group/modwsgi/browse_frm/thread/8ebd9aca9d317ac9

于 2009-10-20T23:01:18.110 回答