我正在使用jQuery循环遍历一个大表(1,000行),并且我为每一行进行AJAX调用以处理一些信息并更新数据库。完成整个过程大约需要30分钟,我使用jQuery UI进度条来提供对处理状态的可见性。
我希望能够启动其中几种类型的长时间运行的进程,但我发现这些后续的AJAX进程似乎已排队,直到上一个长时间运行的请求完成。
我在这个论坛上看到有关浏览器限制并发AJAX会话数量的问题,所以这可能是我在这里反对的。我很想知道别人如何解决这些长期运行的AJAX调用的问题。
在我发布下一个AJAX请求之前等待30分钟并不适合我:)
答案 0 :(得分:0)
如果您需要向同一台服务器发出大量请求,则必须使用子域。例如,不要只将www.domain.tld
指向您的应用程序,而是将*.domain.tld
指向它(或任何其他通配符子域)。在发出AJAX请求时,只需使用<randomstring>.domain.tld
作为主机来规避最大值。每服务器限制的连接数。
另一种解决方案是发送短时间运行的请求,这些请求只是启动您的长流程一个一个长期运行的AJAX请求,该请求将响应的状态更新任何你的运行过程。