в рамках проекта мне пришлось создать несколько асинхронных вызовов и систему мониторинга через индикатор выполнения.
Запускаются асинхронные вызовы, и во время их выполнения они обновляют сеанс, содержащий процентное значение. Второй асинхронный вызов заботится о чтении процентного значения и обновлении индикатора выполнения.
Сценарий, который заботится о чтении, запускается EventSource, но я столкнулся с трудностями, когда вставляю необходимую функцию flu sh для отправки информации на javascript.
Фактически, если я удалю flu sh (), информация не будет отправлена на javascript, но я могу правильно прочитать в сеансе и результат session_status () равно 2. В случае, если я вставляю flu sh () данные отправляются правильно, но я не могу читать в сеансе, и session_status () возвращает 1.
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
require_once '../../../../config/system.config.php'; // Define some constants
require_once '../../../../config/header.config.php'; // Include Classes
while (true) {
ob_start();
$_Response -> executeFunction('AsyncOperation', 'getActiveTasks', NULL);
echo "data: ".$_Response -> serialize()."\n\n";
ob_end_flush();
flush();
sleep(10);
}
Почему? Помогите мне, потому что я уже не знаю куда go.