我的负载均衡器在 60 秒后关闭空闲连接,有时运行需要超过 60 秒download_files.php
。
我想通过每 45 秒发送一次心跳来解决此问题,以确保连接保持活动状态
var heartbeatTimer = 0;
heartbeatTimer = setInterval(function () {
var heartbeatXhr = new XMLHttpRequest();
heartbeatXhr.open('GET', 'heartbeat.php', true);
heartbeatXhr.send();
}, 45*1000);
$.ajax({
url: "download_files.php"
});
clearInterval(heartbeatTimer);
问题是所有心跳每 45 秒开始一次,但直到download_files.php
脚本完成才结束。
如何确保在发出请求后立即完成心跳(我正在使用 mod_php)?
另外,如何确保第一次心跳在 45 秒后开始?在上面的示例中,它从 0 秒开始,例如,如果运行需要 30 秒,download_files.php
我希望心跳不运行一次。