package repository import ( "golang.org/x/sync/errgroup" ) // RunWorkers runs count instances of workerFunc using an errgroup.Group. // If an error occurs in one of the workers, it is returned. func RunWorkers(count int, workerFunc func() error) error { var wg errgroup.Group // run workers for i := 0; i < count; i++ { wg.Go(workerFunc) } return wg.Wait() }