flush + nix

KillDead

Хранитель порядка
Регистрация
11 Авг 2006
Сообщения
894
Реакции
579
Возникла проблема с буферизацией- есть сервер который не даёт срабатывать flush и иже с ним. Без настройки сервера flush не заработает. к настройке прав нету. И есть парсер который долго парсит. И мне нужно иметь актуальную информацию в браузере. Если кто реализовывал - подскажите как сделать?
 
почитайте php.net, flush - не работает сам по себе.

Чтобы нормально работало лучше делать:

PHP:
echo "<тут много пробелов>";
ob_flush();
flush();
Тогда текст выведется. Если же в буфере недостаточно инфы, то команды эти не помогут, пока в буфере не накопиться побольше текста.

//Подробнее в комментах к соответствующим функциям на пхп.нет
 
почитайте php.net, flush - не работает сам по себе.
Чтобы нормально работало лучше делать:
PHP:
echo "<тут много пробелов>";
ob_flush();
flush();
Тогда текст выведется. Если же в буфере недостаточно инфы, то команды эти не помогут, пока в буфере не накопиться побольше текста.
//Подробнее в комментах к соответствующим функциям на пхп.нет

нет. в некоторых случаях, например fastcgi- flush не будет работать. Ни дополнением длины буфера ни сбрасывания с помощью ob_
 
Тогда можно имитировать очередь заданий.

Т.е., например, нужно отпарсить 1000 страниц. Мы жмакаем в браузере по ссылке, Аяксом запрос идет на сервер, парсится 10 страниц и возвращается успешный код завершения. Процент выполнения увеличивается на 1% и автоматом идет запрос на следующую "порцию" парсинга.

т.е.:
1. Разбиваем задачу на много подзадач примерно одинакового объема.
2. Выполнение следующей задачи инициирует клиентский ЯваСкрипт.
 
Назад
Сверху