Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Выполнение блокируемых вызовов в модуле
----- Invar <nginx-forum@xxxxxxxx> wrote:
> Добрый день.
>
> Необходимо создать модуль, который в процессе работы будет обращаться к
> memcached/MySQL. Надо избежать блокировок worker'а во время выполнения
> запросов. Каким образом можно реализовать подобный модуль ?
>
> Приостановить выполнение запроса (вернув NGX_AGAIN), но как выполнить
> обращения к базе ? в отдельном потоке ? Тогда невозможно будет пользоваться
> ngx_log_error, ngx_log_debug и прочими функциями nginx.
>
> В каком направлении лучше искать ? Может кто-то уже реализовывал подобные
> задачи ?
Модули для работы с memcached уже существуют, причем как на чтение, так и на
запись.
Принцип создания неблокирующего модуля для хождения в MySQL долго объяснять,
проще показать исходник. Проблема в том, что в моей версии не решена одна
достаточно нетривиальная задача. Но её можно попытаться решить введя некоторые
ограничения.
Поэтому неплохо бы узнать, зачем Вы хотите ходить в MySQL?
--
Regards,
Valery Kholodkov
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|