我的web应用程序必须处理和服务大量数据才能显示某些页面。有时,用户在服务器仍忙于处理页面时关闭或刷新页面。这意味着服务器将继续处理数据几分钟,然后将其发送给不再监听的客户端。
是否有可能检测到连接已断开,并对其做出反应?
在这个特定的项目中,我们使用Django和NginX,或Apache。我假设这是可能的,因为Django开发服务器似乎通过打印损坏的管道异常来对取消的请求做出反应。我希望它能抛出一个我的应用程序代码可以捕获的异常。It appears JSP can do this。So can node.js here.
或者,我可以在有问题的页面上注册一个unload事件处理程序,让它执行一个同步XHR,请求取消来自该用户的前一个请求,并执行某种进程间通信来实现这一点。也许如果将较慢的数据处理交给另一个我可以更容易识别和终止的进程,而不是终止响应进程……
https://stackoverflow.com/questions/2652082
复制相似问题