http_push_module

pyromaniac - kinwizard на gmail.com
Пн Фев 1 21:09:51 MSK 2010


Продолжение эпопеи. Я тут провёл много часов с дебаггером, но так до конца и
не понял, как бы сделать фейковый запрос. Пытался использовать
http://github.com/srlindsay/nginx-independent-subrequest/commits/master, но
он каким-то странным образом всё равно не хочет работать. Думаю, это из-за
того, что реквест не становится posted, но из-за обилия коллбэков отловить
не могу. А posted он не становится из-за фейкового connection, который не
становится в очередь обработки.

Вообще нгинкс, как я понял, работает так: есть некий цикл, в котором
исполняется обработчик событий. Событие - это входящее подключение.
Подключение задаёт запрос, оборачивая его в апстрим. Этот апстрим проходит
через обработчики всех модулей, подключённых для данного локейшена. Дальше
запрос отправляется в приложение, если требуется. Когда приходит ответ от
приложения, он складывается в специальный стек - posted_requests и
обрабатывается в следующем витке цикла, или в этом, если успевает. В связи с
этим - вопрос: насколько я прав?

И ещё. Не могу понять, где находится точка отсыла запроса в приложение? Этим
занимается коллбэк самого запроса? Или для этого есть функция? Если бы можно
было отправить данные в эту функцию - дело бы выгорело. Мне ведь нужно
сделать запрос на локальное приложение. Мне, в принципе, не зачем
заморачиваться с connection и upstream.
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100201/2d1793a1/attachment-0001.html>


Подробная информация о списке рассылки nginx-ru