ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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


 




Copyright © Lexa Software, 1996-2009.