Welcome! Log In Create A New Profile

Advanced

Re: Выполнение блокируемых вызовов в модуле

Valery Kholodkov
June 14, 2010 10:44AM
----- Invar <nginx-forum@nginx.us> 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@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Выполнение блокируемых вызовов в модуле

Invar June 14, 2010 10:19AM

Re: Выполнение блокируемых вызовов в модуле

Valery Kholodkov June 14, 2010 10:44AM

Re: Выполнение блокируемых вызовов в модуле

Invar June 14, 2010 10:56AM

Re: Выполнение блокируемых вызовов в модуле

Anton Bessonov June 14, 2010 11:14AM

Re: Выполнение блокируемых вызовов в модуле

Valery Kholodkov June 14, 2010 01:06PM

Re: Выполнение блокируемых вызовов в модуле

Invar June 15, 2010 04:50AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 310
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready