Вопрос охватывает методы корректного завершения работы приложения с сохранением состояния.
Короткий ответ
Для graceful shutdown используют:
context.Context для отмены операций.
sync.WaitGroup для ожидания завершения горутин.
Обработку сигналов ОС (os.Interrupt).
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.