2
2
mirror of https://github.com/octoleo/restic.git synced 2024-11-26 06:46:34 +00:00

repository: Simplify worker group code

This commit is contained in:
Michael Eischer 2020-03-08 20:48:51 +01:00
parent 84ea2389ae
commit 4784540f04
3 changed files with 4 additions and 6 deletions

View File

@ -142,7 +142,7 @@ func (c *Checker) LoadIndex(ctx context.Context) (hints []error, errs []error) {
// run workers on ch // run workers on ch
wg.Go(func() error { wg.Go(func() error {
return repository.RunWorkers(ctx, defaultParallelism, worker, final) return repository.RunWorkers(defaultParallelism, worker, final)
}) })
// receive decoded indexes // receive decoded indexes

View File

@ -479,7 +479,7 @@ func (r *Repository) LoadIndex(ctx context.Context) error {
// run workers on ch // run workers on ch
wg.Go(func() error { wg.Go(func() error {
return RunWorkers(ctx, loadIndexParallelism, worker, final) return RunWorkers(loadIndexParallelism, worker, final)
}) })
// receive decoded indexes // receive decoded indexes

View File

@ -1,8 +1,6 @@
package repository package repository
import ( import (
"context"
"golang.org/x/sync/errgroup" "golang.org/x/sync/errgroup"
) )
@ -10,8 +8,8 @@ import (
// After all workers have terminated, finalFunc is run. If an error occurs in // After all workers have terminated, finalFunc is run. If an error occurs in
// one of the workers, it is returned. FinalFunc is always run, regardless of // one of the workers, it is returned. FinalFunc is always run, regardless of
// any other previous errors. // any other previous errors.
func RunWorkers(ctx context.Context, count int, workerFunc func() error, finalFunc func()) error { func RunWorkers(count int, workerFunc func() error, finalFunc func()) error {
wg, _ := errgroup.WithContext(ctx) var wg errgroup.Group
// run workers // run workers
for i := 0; i < count; i++ { for i := 0; i < count; i++ {