Jas*_*ele 11 ajax rest notifications http
我正在开发一个Web应用程序,它将任务提交给主/工作系统,该系统将任务分配给一系列工作器实例中的任何一个.工作队列主服务器作为单独的进程运行(在一台单独的机器上),任务通过HTTP/REST请求提交给主服务器.将任务提交到工作队列后,客户端应用程序可以提交另一个HTTP请求以获取有关任务的状态信息.
对于我的Web应用程序,我希望它提供某种进度条视图,为用户提供有关任务处理进度的指示.实现这一点的显而易见的方法是使用AJAX进度计小部件,该小部件定期轮询工作队列以查找已提交任务的状态.我的问题是,如果没有频繁的民意调查,有没有更好的方法来实现这一目标?
我已经考虑过让客户端Web应用程序打开一个服务器套接字,它可以监听来自工作主机的通知.我的另一个类似想法是使用XMPP或类似的协议进行状态通知.(当然,主/工作系统需要更新以提供通知,但我拥有代码,因此可以自己进行任何必要的更新.)
有关建立这样的通知系统的最佳方法的任何想法?额外的努力是值得的,还是简单的轮询解决方案?
客户端不断轮询服务器以获取响应的状态.
在响应完成之前,服务器不会关闭与客户端的HTTP连接.服务器可以使用HTTP多部分通过此连接发送中间状态.
Comet是实现此行为的最着名的框架.
使服务器发布状态更新和对客户端的响应,就像它是另一个RESTful应用程序一样.
随意编辑以添加您的想法或新方法!
我想这取决于几个因素
我在871184上有一些示例代码,该示例代码显示了手动滚动的“ 永远帧 ”,效果似乎很好。我开发的项目为此付出了不小的努力,但操作需要花费几秒钟,我们可以给出非常准确的百分比。该代码使用asp.net和jquery,但是常规技术将适用于任何服务器和javascript框架。
编辑正如约翰指出,状态可能报告不是RESTful服务的工作。但是,没有什么可以说您无法在客户端上打开连接到轮询该服务的服务器页面的iframe。理论上说,服务器和服务之间至少会更近一些:-)
归档时间: |
|
查看次数: |
8548 次 |
最近记录: |