我的负载均衡器在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秒开始,例如,如果运行download_files.php
需要30秒,我希望心跳不能运行一次。