Тёмный

Graceful Shutdown или как красиво уйти 

Evrone Development
Подписаться 11 тыс.
Просмотров 4,9 тыс.
50% 1

Подписывайтесь на наш канал здесь и в телеграмм t.me/meetups_e..., чтобы быть в курсе будущих митапов и не пропускать полезные доклады!
Сапогов Никита, Ситилинк
Расскажу про то как изящно завершать приложение, учитывая большое кол-во внутренних и внешних факторов, а так же расскажу про нашу маленькую абстракцию которая нам в этом помогает.
0:09 Введение
1:02 Об авторе
2:24 Виды завершения приложения
3:51 Плюсы и минусы
5:35 Антипаттерны
6:26 Инструменты
7:16 context.Context
8:48 Обработка сигналов
9:20 Добавляем context.Context
10:12 Ранний выход из цикла
10:56 Выполнение бесконечных заданий
11:42 Start/Stop
12:16 Адаптер
13:11 Как дождаться завершения
15:45 Как найти решение
17:20 Заказываем эвтаназию приложения
18:17 Healthy пробы
19:49 Итоги
20:31 Заключение
#go #golang #meetup #evrone

Опубликовано:

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 7   
@RomanAlexandrov
@RomanAlexandrov Год назад
6:28 deadlock же будет и не нужен "kill -9" или я не прав?
@dmitriyobidin6049
@dmitriyobidin6049 Год назад
Это если не будет запущено ни одной параллельной горутины. Если при старте сервера была запущена хотя бы одна не висящая горутина - то просто будет бесконечно ждать сообщения из канала.
@Seniorius
@Seniorius 5 месяцев назад
Ещё бывает live lock
@alexanderp4532
@alexanderp4532 Год назад
13:10 код не будет работать корректно, потому что перед закрытием канала, надо что-то передать туда, для того, чтобы мы смогли зайти в case. Иначе мы будем ждать только завершения контекста
@МусамирМиров-ж5ф
канал doneCh в данном случае служит только для того чтобы уведомить о завершении функции ForeignFunc и если мы его закроем, то мы попадем в case т.к из закрытого канала можно читать
@lavandosnapas
@lavandosnapas Год назад
после закрытия канала в селекте просто вернется значение по умолчанию, так что работать будет корректно (по крайней мере, в Go 1.20)
@sergeiudison6534
@sergeiudison6534 10 месяцев назад
Ты прежде чем писать хотя бы попробовал. Все корректно отрабатывает. Канал ты можешь начать читать и без значения в нем, при чтении из канала горутина засыпает до тех пор в канал не положат значение, после того как другая горутина кладет туда значение, она будит ту которая должна прочитать.
Далее
Kubernetes для Go - Go Evrone Meetup
31:57
Просмотров 4 тыс.
С какого года вы со мной?
00:13
Просмотров 199 тыс.
Inside Out 2: BABY JOY VS SHIN SONIC 4
00:16
Просмотров 3,7 млн
С какого года вы со мной?
00:13
Просмотров 199 тыс.