Size: a a a

2020 November 25

KK

Kirill (Cykooz) Kuzm... in rannts
Частично 😊
Мог бы предусмотреть более простую версию, которая не принимает новые конекты, ждёт пока закроются все имеющиеся конекты, и только потом начинает гасить весь сервер.
А так мне приходится самому на каждую "функциональность" приложения делать свой обработчик on_shutdown, который будет по каким-то своим метрикам понимать, что рано ещё всё гасить. И при этом нет возможности запретить серверу принимать новые конекты. Т.е. в худшем случае сервер никогда не загасится, т.к. будут приходить новые конекты, которые будут оттягивать завершение работы.
источник

RB

Roman Bolkhovitin in rannts
ну по идее новых коннектов не будет, так ты рядом новый сервер поднимешь и все входящие запросы на него перебросишь, а этот будет разгребать только то что уже заакцептил... или это не так работает?
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Хотя нет - про новые конекты я набздел. Это я уже просто "пофиксил" ручками код aiohttp пока разбирался как он работает
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Венул всё взад и новые конекты принимать перестал - я как раз закоментил код, который "закрывал" сокет.
источник

RB

Roman Bolkhovitin in rannts
а пайчарм поди говорил: "файл который вы редактируете предназначен только для чтения, вы точно хотите его изменить?"

тоже так делаю ))
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Кстати, у встроенного веб-сервера aiohttp есть настройка shutdown_timeout, но она не применима к моему случаю, т.к. этот таймаут используется уже после того как отработают все обработчики и всё будет погашено.
Т.е. мне придётся делать свою кастомную настройку и писать свой код "таймаута", что бы принудительно всё завершить.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Поэтому Светлову ещё есть над чем поработать, что бы не заставлять разработчиков писать всякий бойлерплейт.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Roman Bolkhovitin
а пайчарм поди говорил: "файл который вы редактируете предназначен только для чтения, вы точно хотите его изменить?"

тоже так делаю ))
Да, говорил - но я ведь умный, знаю что делаю 😊
источник

『Serg』 in rannts
Roman Bolkhovitin
а пайчарм поди говорил: "файл который вы редактируете предназначен только для чтения, вы точно хотите его изменить?"

тоже так делаю ))
Да а когда интерпретатор в докере то вроде уже так не канает))
источник

AM

Artem Malyshev in rannts
Kirill (Cykooz) Kuzminykh
У меня если что и "течёт" - то только из-за фрагментации памяти, которую очень легко можно словить а в асинхронке. Но у меня веб-сокеты не юзаются.
А нахрена тогда асинк? 🤨 В сторонние сервисы много ходить?
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Artem Malyshev
А нахрена тогда асинк? 🤨 В сторонние сервисы много ходить?
У меня прокся - там много IO. Поэтому и async
источник

KK

Kirill (Cykooz) Kuzm... in rannts
А никто не помнит про такую штуку для докера, которая позволяла следить за евентами, которые генерит сам докер, и на их основе что-то делает. Например ловит момент, что был запущен ещё один контейнер с веб-приложением, на основе шаблона генерит конфиг для nginx/haproxy и делает ему reload.
Что-то ни как найти не могу эту инструментину и как называется - не знаю.
источник

SA

Sergey Arkhipov in rannts
Nginx proxy
источник

AM

Artem Malyshev in rannts
Kirill (Cykooz) Kuzminykh
А никто не помнит про такую штуку для докера, которая позволяла следить за евентами, которые генерит сам докер, и на их основе что-то делает. Например ловит момент, что был запущен ещё один контейнер с веб-приложением, на основе шаблона генерит конфиг для nginx/haproxy и делает ему reload.
Что-то ни как найти не могу эту инструментину и как называется - не знаю.
Я бы такое делал через какой-нибудь consul или другой service discovery.
источник

SA

Sergey Arkhipov in rannts
GitHub - nginx-proxy/nginx-proxy: Automated nginx proxy for Docker containers using docker-gen
https://github.com/nginx-proxy/nginx-proxy
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Artem Malyshev
Я бы такое делал через какой-нибудь consul или другой service discovery.
У меня балансировка по хешу от параметра в URL-е HTTP запроса. Никакие консулы не помогут - надо в конфиге haproxy указывать точное число "бекендов".
источник

KK

Kirill (Cykooz) Kuzm... in rannts
О, спасибо. Только мне скорее всего нужен только
https://github.com/jwilder/docker-gen
т.к. у меня не только nginx, а ещё и haproxy
источник

KK

Kirill (Cykooz) Kuzm... in rannts
А вот есть у меня например DNS с чем-то вроде round-robin балансировкой. Могу я какой-то командой в линуксе узнать список всех IP адресов, которые могут быть выданы для домена?
источник

RB

Roman Bolkhovitin in rannts
dig, nslookup?
источник

KK

Kirill (Cykooz) Kuzm... in rannts
простой dig только 1 IP из двух выдаёт
источник