У меня есть сервер GRP c (golang), который я хочу запустить и остановить с помощью инструмента командной строки, после остановки сервера он должен выполнить некоторые служебные задачи и выйти из процесса.
- Я могу сделать это, удерживая al oop в ожидании ввода пользователя. Пример -
func main() {
for {
var input string
fmt.Scanln(&input)
//parse input
// if 'start' execute - go start()
// if 'stop' execute - stop() and housekeepingTask() and break
}
}
Могут быть разные подходы. Есть ли лучшая идея или подход, который можно использовать?
Я ищу что-то похожее, как kafka / any db start and stop работает. Любой указатель на существующее решение или подход будет полезен.