github.com/eqrx/rungroup (go): Package rungroup allows goroutines to share the same lifecycle.  Like https://pkg.go.dev/golang.org/x/sync/errgroup, rungroup allows to create a handler that allows to run given functions in parallel with goroutines. It tries to be as close to the interface of errgroup but handles the cancelation of its routines and treatment of errors differently.  Goroutine function gets a context as first argument, a new group does not get handled to the caller with the groups context. By default all routines get canceled as soon as one routine return, regardless if the error is nil or not. This can be overridden per routine. errgroup only cancels on the first non nil error. All non nil errors are returned to the creator of the group. errgroup only returns the first error and drops the rest.
Keywords: go