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