1

我的负载均衡器在 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我希望心跳不运行一次。

4

0 回答 0