Как правильнее выводить в реальном времени контент, генерирующийся в цикле for?

Всем привет! Есть цикл for, выполнение которого занимает 5-10 секунд и необходимо выводить результаты его работы в реальном времени на страницу. Сейчас для этого указываю в конце цикла:
ob_flush();
flush();
usleep(200000);

Проблема в том, что в Chrome вывод начинается только с того момента, как пользователь хотя бы слегка сдвинет курсор в пределах окна браузера. Если ничего не делать, то результат вывалится только весь полностью уже после выполнения цикла. В Firefox и Safari всё работает идеально.
Можно ли как-то решить эту проблему?
  • Вопрос задан
  • 184 просмотра
Пригласить эксперта
Ответы на вопрос 2
alsopub
@alsopub
Решить, наверняка, можно. Только это не очень хороший путь.
Задосить ваш сервер с такими длинными запросами очень легко.
Имхо, нужно перестраивать логику работы скрипта, если это возможно.
Ответ написан
@seriogja
Использовать сокеты можно. В цикле делать push сообщения с обновленными данными.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы