0
我有一个网络应用程序,它使用频繁的$.ajax()
调用向服务器传输数据和从服务器传输数据。它在虚拟机主机和客户端之间本地运行。服务器在会话中过多后停止响应请求?
我遇到的问题是,在会话中进行了一定数量的连续呼叫(没有确定实际的号码)后,它似乎切断了。这可能是几秒或几分钟。
我想我分配来电$.ajax()
对象,因此他们可能被删除,例如:
myApp.ajaxRegistry.myAjax = $.ajax({
url: '/path/to/server',
error: function() {
delete myApp.ajaxRegistry.myAjax;
}
success: function() {
delete myApp.ajaxRegistry.myAjax;
}
});
我认为可能已经改善,但它可能仅仅是巧合。它仍然经常失败。
我监测到服务器访问日志发生这些故障时,我可以看到它甚至没有提出请求。浏览器控制台中没有Javascript错误。
EDIT
浏览器的网络记录器指示它是发出请求,但服务器没有响应(根据apache的访问日志)。几分钟后,它再次开始响应,所以我认为服务器上有配置。
也许值得一提的是虚拟机服务器经常会失去时间(某种令人讨厌的VirtualBox“功能”),所以我想知道这可能是相关的。
UPDATE
我觉得我对服务器时间的直觉可能是正确的。我终于设法让ntp
在虚拟机上正常工作,并且几个星期后我还没有遇到这个问题。
没有固有的限制。以什么方式使事情“停止工作”?你怎么能告诉它停止? – Pointy
对于失败的请求,JavaScript的响应看起来如何? – Halcyon
@Pointy:应用停止按照预期行事。我在查看服务器日志的同时触发请求,并且没有将条目添加到日志中。 –