Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Nginx+PHP-FCGI Функция flush() не работает корректно
On Tue, 15 Feb 2011 14:35:39 -0500
"Argos" <nginx-forum@xxxxxxxx> wrote:
> скрипт выполняется на бэкэнде - на
> фронтенде же показывается вся
> информация и собственно прогресс.
> (использую juqery)
> Да можно сделать через Comet, но
> постоянные POST запросы через curl из
> самого скрипта + постоянные запросы на
> стороне фронтенда - это лишняя нагрузка
> на сервер и что самое главное итак
> долгий скрипт будет выполняться ещё
> дольше из-за POST запросов. Как я уже
> говорил самое идеальное это ставить
> куки и эти куки уже и опрашивать
> вытаскивая из них нужную инфу. Поэтому
> то и хочется что бы nginx смог работать с
> flush(). Писал Сысоеву но ответа так и не
> последовало. Видимо реально нельзя
> подружить nginx и flush
>
Читаю-читаю эту ветку и не пойму, как еще лучше-то разжевать надо, чтоб Вы
поняли, что Вам предлагают. Но попробую.
Итак, есть несколько слоев приложения.
1. Скрипт, который живет по заданному адресу в FCGI и выполняет простые
действия - возвращает весь жабаскрипт и ответ Ок, и запускает основной скрипт
где-то там, в глубине сервера.
2. Основной скрипт, который фигачит чего-то там в глубине сервера. Его задача -
как-то отдавать наружу промежуточные и окончательный результаты своей работы.
Как он может это сделать? Через memcached или просто формируя статическую
страничку html (не забываем только, что страничку надо переписывать
переименованием, чтоб было атомарно). И страничка, и мемкеш так же имеют свой
адрес, куда ломится жабаскрипт за данными о прогрессе. Тяжелое приложение не
запускается, ибо данные отдает nginx в обоих случаях.
3. Собственно жабаскрипт, который лезет по определенному статическому адресу и
получает промежуточные данные и окончательный результат.
Где curl? Где дополнительные пост-запросы? Кроме того, такая реализация
позволит (по желанию) сделать так, чтоб в одно время работал только один
тяжелый скрипт (или 2, или 10). Вывод в статическую страничку или в мемкеш не
слишком замедлит скрипт по сравнению с выводом в стандартный выход (как
понимаю, 5 минут он там все же данные какие-то перемалывает, а не вывод
формирует?).
--
Андрей Бойко <kaa@xxxxxxxxxx>
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|