22 июля 2008 г. 1:03 пользователь Sergey Samokhin <neavirc@xxxxxxxxx> написал:
Здравствуйте.
Есть модуль, который в своем обработчике отправляет стороннему приложению
некоторую информацию о запросе (заголовки и пр.) используя блокирующие сокеты.
После этого модуль получает ответ от приложения, и используя его генерирует response
для пользователя.
Очень хочется заменить блокирующие сокеты на неблокирующие, т.к. организовать
работу модуля примерно так:
1. Получив запрос от пользователя воркер отсылает данные через неблокирующий сокет
и переключается к следующему запросу, не обрывая соединения с клиентом
2. Когда стороннее приложение ответило на запрос, отправленный в п. 1 nginx возвращается
к состоянию п.1 и используя полученные данные генерирует ответ для пользователя и
закрывает соединение
Я пока очень смутно представляю как это можно было бы реализовать :/
Если такое уже где-то реализовано в nginx, то подскажите в какие модули/функции посмотреть =)
Нужно ли использовать какие-то nginx'овские обертки над сокетами (типа ngx_event_connect)?