使用gevent进行长轮询时处理客户端超时

时间:2013-03-15 21:47:31

标签: long-polling gevent

我正在使用gevent来处理长轮询请求。这些请求将等待,直到AsyncResult的.get方法返回。然后它将结果发送回长轮询客户端。

问题是客户端连接有时会在AsyncResult触发之前超时。如果发生这种情况,当我最终尝试发回响应时,我会收到异常。这是有道理的,因为连接不再活跃。我还有一个AsyncResult对象,如果连接不再打开,我应该干净地停止。

我正在使用pywsgi处理长轮询的休止请求。有没有办法在pywsgi处理程序中检测到连接已关闭,但作为一个事件,因为我的greenlet将阻止AsyncResult。

非常感谢任何帮助。感谢

0 个答案:

没有答案