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);

download_files.php問題は、すべてのハートビートが 45 秒ごとに開始されますが、スクリプトが完了するまで終了しないことです。

ここに画像の説明を入力

ハートビートのリクエストが行われた直後にハートビートが終了するようにするにはどうすればよいですか (私は mod_php を使用しています)。

また、最初のハートビートが 45 秒後に開始されるようにするにはどうすればよいですか? 上記の例では、0 秒から開始されます。たとえば、実行に 30 秒かかる場合download_files.php、ハートビートが一度も実行されないようにします。

4

0 に答える 0