Re: fail_timeout - обсудим ?
Maxim Dounin
mdounin на mdounin.ru
Ср Окт 17 16:31:55 UTC 2018
Hello!
On Wed, Oct 17, 2018 at 07:47:26PM +0500, Илья Шипицин wrote:
> On Wed, Oct 17, 2018, 6:25 PM Maxim Dounin <mdounin at mdounin.ru> wrote:
>
> > Hello!
> >
> > On Wed, Oct 17, 2018 at 05:12:31PM +0500, Илья Шипицин wrote:
> >
> > > привет!
> > >
> > > беру стоковый 1.15.5
> > > вот такой конфиг
> > >
> > > upstream root-upstream {
> > > server 127.0.0.1:999 fail_timeout=30000ms;
> > > }
> > >
> > >
> > > server {
> > > listen 80;
> > > server_name localhost;
> > >
> > > location / {
> > > proxy_pass http://root-upstream;
> > > }
> > >
> > > }
> > >
> > > и, собственно, вот
> > >
> > > [root at localhost]# nginx -t
> > > nginx: [emerg] invalid parameter "fail_timeout=30000ms" in
> > > /etc/nginx/conf.d/default.conf:2
> > > nginx: configuration file /etc/nginx/nginx.conf test failed
> > > [root at localhost]#
> > >
> > > в документации сказано, что так можно
> >
> > Параметр fail_timeout принимает время в секундах, поэтому так нельзя.
> >
>
> документацию поправите ?
В документации сказано (http://nginx.org/ru/docs/syntax.html):
: Некоторые интервалы времени можно задать лишь с точностью до
: секунд.
Добавить явное указание на то, что fail_timeout относится именно к
таким интервалам - наверное стоит. Ну или таки сделать, чтобы
миллисекунды работали.
> > У меня валяется старый патч, меняющий таймауты на миллисекундные,
> > но в нём есть вот такой комментарий:
>
> нафиг такие спецэффекты ))
>
> думаю, никто не обидится, если fail_timeout нельзя указать в миллисекундах
По хорошему, IMHO, надо - выключение бэкендов из-за ошибок на годы
точно никому не нужно, а времена меньше секунды - вполне могут
пригодиться. Тем более, что заодно это позволит избавиться от
спецэффектов при изменениях системного времени.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru