Последовательность http запросов

pywork pywork at gmail.com
Mon Dec 11 18:49:51 MSK 2006


Здравствуйте!
Возникла проблема в http модуле.
Данный модуль принимает http запрос и в обработке этого запроса должен 
получить некоторые данные от backend'а. После получения этих данных, 
должен вставить полученные данные в http ответ.
Для этого в обработке запроса мы создает сокет, отправляем в него 
некоторые данные, устанавливаем event на read и выходим из обработчика 
возвращая NGX_DONE.
В конце обработчика на событие read мы выполняем функцию 
ngx_http_finalize_request(r, NGX_OK).

Внимание вопрос!
Нам приходят 2 http запроса, которые мы должны обработать с обращением к 
backend'у на каждый запрос.
Но еще не успев отработать 1й запрос, нам приходит 2й. Нам хотелось 
чтобы можно было приостановить обработку последующего запроса, прежде 
чем мы не обработали текущий запрос.
Проблема решается, если в обработчике http запроса после запроса к 
backend'у поставить sleep(1) :)

Как решить эту проблему красиво?





More information about the nginx-ru mailing list