// Graceful shutdown, пишем это перед последней ждущей функцией
c := make(chan os.Signal, 1)
signal.Notify(c, os.Interrupt, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT)
go func() {
<-c
// здесь логика завершения и очистки ресурсов, например:
db.Close()
app.Exit()
}()