No video

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

  Рет қаралды 4,833

Evrone Development

Evrone Development

Күн бұрын

Подписывайтесь на наш канал здесь и в телеграмм 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

Пікірлер: 7
@RomanAlexandrov
@RomanAlexandrov Жыл бұрын
6:28 deadlock же будет и не нужен "kill -9" или я не прав?
@dmitriyobidin6049
@dmitriyobidin6049 11 ай бұрын
Это если не будет запущено ни одной параллельной горутины. Если при старте сервера была запущена хотя бы одна не висящая горутина - то просто будет бесконечно ждать сообщения из канала.
@Seniorius
@Seniorius 4 ай бұрын
Ещё бывает live lock
@alexanderp4532
@alexanderp4532 Жыл бұрын
13:10 код не будет работать корректно, потому что перед закрытием канала, надо что-то передать туда, для того, чтобы мы смогли зайти в case. Иначе мы будем ждать только завершения контекста
@user-if7ft5ge2k
@user-if7ft5ge2k Жыл бұрын
канал doneCh в данном случае служит только для того чтобы уведомить о завершении функции ForeignFunc и если мы его закроем, то мы попадем в case т.к из закрытого канала можно читать
@lavandosnapas
@lavandosnapas Жыл бұрын
после закрытия канала в селекте просто вернется значение по умолчанию, так что работать будет корректно (по крайней мере, в Go 1.20)
@sergeiudison6534
@sergeiudison6534 9 ай бұрын
Ты прежде чем писать хотя бы попробовал. Все корректно отрабатывает. Канал ты можешь начать читать и без значения в нем, при чтении из канала горутина засыпает до тех пор в канал не положат значение, после того как другая горутина кладет туда значение, она будит ту которая должна прочитать.
Kubernetes для Go - Go Evrone Meetup
31:57
Evrone Development
Рет қаралды 4 М.
Валентин Хомутенко / «что не так с ORM в Go»
32:29
The Joker kisses Harley Quinn underwater!#Harley Quinn #joker
00:49
Harley Quinn with the Joker
Рет қаралды 9 МЛН
WORLD'S SHORTEST WOMAN
00:58
Stokes Twins
Рет қаралды 210 МЛН
Пройди игру и получи 5 чупа-чупсов (2024)
00:49
Екатерина Ковалева
Рет қаралды 4 МЛН
Golang Microservices: Graceful Shutdown
11:56
Mario Carrion
Рет қаралды 5 М.
Архитектура Go проекта на практике
30:09
Evrone Development
Рет қаралды 15 М.
Внутреннее устройство каналов в Go
18:44
Evrone Development
Рет қаралды 9 М.
Как на самом деле устроены каналы в Golang? | Golang channels internals
41:31
The Joker kisses Harley Quinn underwater!#Harley Quinn #joker
00:49
Harley Quinn with the Joker
Рет қаралды 9 МЛН