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:應用停止按照預期行事。我在查看服務器日誌的同時觸發請求,並且沒有將條目添加到日誌中。 –