ага, понятно, механизм переменных видимо именно то что нужно !
а что из имеющихся средств подходит для реализации обработчика
переменной ? он же как то должен встаиваться в общий цикл обработки -
иначе будет лочить воркер пока не получит результат от memcached ...
IS> On Tue, 24 May 2005, Alexey Bestciokov wrote:
>> хочется[нужно] написать модуль котороый будет коннектицца к memcached и
>> вытаскивать оттуда некоторые переменные (на основании id из куки плюс
>> predefined ) - чтобы потом использовать их в ssi.
>>
>> исходя из этого по идее модуль должен быть фильтром и вставать в
>> цепочку перед ssi, но, как я понял, для общения с "внешними" серверами
>> модуль должен
>> быть "конечным" обработчиком http запроса и ставить себя в
>> content_handler, во всяком случае если использовать механизм
>> ngx_http_upstream - то есть его можно бужет вызвать
>> субреквестом и вставить полученные данные в нужные места, но, если я
>> правильно понял, это лишнее соединение с memcached сервером на каждый
>> запрос, ну и дублирование обработки данных полученных от него.
>>
>> есть ли на данный момент какой либо механим который позволит это
>> сделать по другому и с минимальными затратами ?
>>
>> или я вообще всё неправильно понял ?
IS> Насчёт ngx_http_upstream и прочего - верно. Соединения в принципе можно
IS> кэшировать, но пока это не реализовано.
IS> Однако, если нужны только переменные, то можно использовать механизм
IS> переменных, например, как сделано в ngx_http_geo_module,
IS> ngx_http_proxy_module, ngx_http_fastcgi_module и прочих. Модуль
IS> регистрирует нужные имена переменных с помощью ngx_http_add_variable().
IS> Обработчик переменной при первом же обращении соединяется с memcached.
IS> Это соединение остаётся постоянным до тех пор, пока memcached его не
закроет.
IS> Кстати, возможно, поддержка memcached в таком виде со временем появится.
IS> Игорь Сысоев
IS> http://sysoev.ru
Алексей Бещёков.
proforg@xxxxxxxxxxxx