私は非常に単純なPHPスクリプトを持っている:AJAXは、正当な理由なしに終了するPHPスクリプトを開始しました
これは、再び非常に単純でAJAXを使用して起動さini_set('max_execution_time', 240000);
//Switch for terminating the test processing status loop
$completed = false;
while ($completed == false) {
sleep(2);
}
:
$.ajax({
url: "lib/check_processing_status.php",
timeout: 0,
async: true,
error: function() {
console.log("FAILURE");
},
success: function() {
console.log("SUCCESS");
}
});
このスクリプトを無期限に実行するか、少なくともタイムアウトが発生するまで実行する必要があります。それでも、それは実行されるたびに異なる持続時間後に失敗します。場合によってはわずか40秒、時には1分10秒です。
なぜこれが失敗するのですか?
追加:
私は、プロセスの進行のためにサーバーを照会するので、代わりにAJAXの負荷を呼び出すことになるので、単にいくつかのコンテキストを追加するために、私はこのようなループを持っていた理由は、あります5秒ごとに要求(10秒のリクエストでコンソールウィンドウをいっぱいにする)をすると、プロセスが完了するまでPHPスクリプトの中にとどまることがわかりました。
ajaxタイムアウトを0に設定しても、ブラウザが無期限に待機しないことがあります。http://stackoverflow.com/questions/7297833/how-long-will-the-browser-wait-after-an-ajax-リクエスト –
あなたはブラウザがPHPスクリプトを終了していると思いますか? –
PHPスクリプトではなく、接続。 –