【发布时间】:2012-04-18 17:58:23
【问题描述】:
如果我使用队列生成响应数据,我应该如何检测客户端是否与我的 gevent 网络服务器断开连接?现在我不断收到Broken pipe 错误,但我不太明白应该在哪里捕获这个异常(回溯只包括gevent 自己的pywsgi.py 和socket.py 文件,没有我的代码)。谢谢。
【问题讨论】:
标签: python exception-handling gevent disconnect
如果我使用队列生成响应数据,我应该如何检测客户端是否与我的 gevent 网络服务器断开连接?现在我不断收到Broken pipe 错误,但我不太明白应该在哪里捕获这个异常(回溯只包括gevent 自己的pywsgi.py 和socket.py 文件,没有我的代码)。谢谢。
【问题讨论】:
标签: python exception-handling gevent disconnect
如果您从 WSGI 应用程序返回队列,我不确定该怎么做(如果我理解正确的话)。
如果您可以以不同的方式构建您的应用程序并使用 WSGI 的 write(),那么您可以像这样捕获套接字异常:
def application(environ, start_response):
write = start_response('200 OK', [])
try:
write("response")
except socket.error, ex:
print ex
【讨论】: