実行に時間がかかる PHP スクリプトがあり、その進行状況をユーザーに警告したいと考えています。Cookie を使用してこれを実装するのに問題があります。私が今持っているコードは次のとおりです。
jQuery:
$(document).on('click', '#pop_db', function() {
    $.post(
        "pop_db.php",
        function(data) {
            var response = jQuery.parseJSON(data);
            if(response.code == "success") {
                // success
            } else if(response.code == "failure") {
                // failure
            }
        }
    );
    setInterval(function() { get_user_updates(); }, 5000);
});
function get_user_updates() {
$.post(
    "get_user_update.php",
    function(data) {
        var response = jQuery.parseJSON(data);
        if(response.code == "success") {
            // success
        } else if(response.code == "failure") {
            // failure
        }
    }
);
}
pop_db.php ファイルは、時間がかかる PHP 作業を処理します。その中にクッキーを設定して、間隔でフェッチできるようにします。
require_once('includes/database.php');
$dbh = db_connect();
$response = array();
$response['code'] = "success";
setcookie('users_to_update', /*some value */, time() + 120);
setcookie('users_updated', 0, time() + 120);
// do lots of work in a loop
$_COOKIE['users_updated'] += 1;        
echo json_encode($response);
get user update ファイルは非常に単純です。
$response = array();
$response['code'] = "success";
$response['users_to_update'] = $_COOKIE['users_to_update'];
$response['users_updated'] = $_COOKIE['users_updated'];
echo json_encode($response);
したがって、これはすべて機能しません。データベースにデータを入力するための最初の POST 要求が終了した後に、間隔が実行されるようです。
これを達成するために DB テーブルを使用しようとしましたが、同様の問題に遭遇しました。
ここに欠けている概念的なものはありますか、それとも私のコードに何か問題があることに気づいた人はいますか?