Re: оптимизация модуля: переполнения и блокировки
Maxim Dounin
mdounin на mdounin.ru
Вт Ноя 15 14:18:44 UTC 2011
Hello!
On Tue, Nov 15, 2011 at 08:30:50AM -0500, minya wrote:
> Окей. Я немного соврал. Для простоты
> объяснения. На самом деле, у меня не
> файл, а база данных (berkeley db). То есть,
> читаю я не куски из файла, а диапазоны
> записей: спозиционировал курсор и
> вычитываю по одной записи и отдаю их на
> клиента. Как быть в такой ситуации?
Ставить собственный обработчик на событие записи клиенту, и
следить за отправкой буферов самостоятельно. Из обработчика
запроса возвращать NGX_DONE.
Пример, как это делается, можно посмотреть в модулях работы с
бекендами + в инфраструктуре upstream, которую они используют.
Там, правда, много и не совсем тривиально, ну да и задача не
совсем тривиальная.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru