Re: похоже не работает fastcgi_ignore_client_abort

Sergey Shepelev temotor на gmail.com
Ср Дек 16 04:07:59 MSK 2009


2009/12/16 Denis F. Latypoff <latypoff at yandex.ru>:
>
>
> 16.12.09, 02:10, "nginx at rufox.ru" <nginx at rufox.ru>:
>
>> Вот только что попробовал оба варианта
>>  fastcgi_ignore_client_abort on;
>>  и
>>  fastcgi_ignore_client_abort off;
>>
>>  В обоих случаях при отмене загрузки в браузере, скрипт продолжает работать.
>>
>>  FreeBSD 7.1
>>  nginx-0.7.63
>>  php-5.2.11
>>  spawn-fcgi-1.6.2_2
>>
>>  Меня в принципе не особо волнует как себя ведёт php при отмене загрузки
>>  в браузере.
>>  Проблема больше вот в чём.
>>  Пару раз возникали случаи, когда из-за локов на определённую таблицу,
>>  nginx, не дождавшись ответа от php возвращал ошибку. Однако при этом php
>>  обработчик не освобождался и продолжал ждать ответа от mysql. Со
>>  временем все обработчики "заканчивались" и весь сайт напрочь замирал.
>
> Ну а как fastcgi приложение узнает, что соединение порвалось, если оно
> заблокировано на ожидании чтения с mysql?
>
>>
>>  Подскажите пожалуйста, как это исправить.
>
> Переписать php, чтобы оно было асинхронным.

Раз уж говно на вентилятор, то любое ожидание (и ввод-вывод, как
частный случай sleep) во всех языках нужно переписать на асинхронное
просто потому что синхронное не имеет смысла и ничем не вооружает, а
только проблемы вот такие порождает.

>
> --
> br, Denis F. Latypoff.
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>


Подробная информация о списке рассылки nginx-ru