mirror of
https://github.com/gotenberg/gotenberg.git
synced 2026-08-08 08:32:16 +01:00
21 lines
448 B
Go
21 lines
448 B
Go
package xerrgroup
|
|
|
|
import (
|
|
"github.com/thecodingmachine/gotenberg/internal/pkg/xerror"
|
|
"golang.org/x/sync/errgroup"
|
|
)
|
|
|
|
// Run runs all functions simultaneously and wait until
|
|
// execution has completed or an error is encountered.
|
|
func Run(fn ...func() error) error {
|
|
const op string = "xerrgroup.Run"
|
|
eg := errgroup.Group{}
|
|
for _, f := range fn {
|
|
eg.Go(f)
|
|
}
|
|
if err := eg.Wait(); err != nil {
|
|
return xerror.New(op, err)
|
|
}
|
|
return nil
|
|
}
|