Errgroup

Errgroup is great for managing goroutines. This article shows how to use it for graceful shutdowns: Implementing Graceful Shutdown in Go

Source code: errgroup package