Доброго всем дня.
Ломаю голову над задачей: как правильно выполнить передачу выполнения (или шага) тяжелого скрипта PHP клиенту?
Есть скрипт, который выполняется достаточно долго, нужно чтобы клиент не ждал его завершения, а ползал по сайту, вот только не могу понять как передать...
Пробовал через pull&push. Но данные (в примере это время на определенном шаге) передаются только когда скрипт полностью отработал, и вывалиется прям разом все при завершении... А надо в онлайн режиме (типа как загрузка)
В классе, где выполняется скрипт, передаю на разных этапах:
А у клиента опрашиваю:
Ломаю голову над задачей: как правильно выполнить передачу выполнения (или шага) тяжелого скрипта PHP клиенту?
Есть скрипт, который выполняется достаточно долго, нужно чтобы клиент не ждал его завершения, а ползал по сайту, вот только не могу понять как передать...
Пробовал через pull&push. Но данные (в примере это время на определенном шаге) передаются только когда скрипт полностью отработал, и вывалиется прям разом все при завершении... А надо в онлайн режиме (типа как загрузка)
В классе, где выполняется скрипт, передаю на разных этапах:
| Код |
|---|
CPullWatch::AddToStack($userId,
Array(
'module_id' => 'sale',
'command' => 'test',
'params' => Array("TIME" => time())
)
);
|
А у клиента опрашиваю:
| Код |
|---|
BX.ready(function(){
BX.addCustomEvent("onPullEvent", function(module_id,command,params) {
console.log(module_id,command,params);
});
BX.PULL.extendWatch(<?=$userId?>);
});
|