2020-04-04 21:49:25 +00:00
|
|
|
package worker
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"errors"
|
|
|
|
|
|
|
|
"gitlab.com/slon/shad-go/distbuild/pkg/build"
|
|
|
|
"gitlab.com/slon/shad-go/distbuild/pkg/filecache"
|
|
|
|
)
|
|
|
|
|
|
|
|
func (w *Worker) pullFiles(ctx context.Context, files map[build.ID]string) error {
|
|
|
|
for id := range files {
|
|
|
|
_, unlock, err := w.fileCache.Get(id)
|
|
|
|
if errors.Is(err, filecache.ErrNotFound) {
|
2020-04-04 21:55:07 +00:00
|
|
|
if err = w.fileClient.Download(ctx, w.fileCache, id); err != nil {
|
2020-04-04 21:49:25 +00:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
} else if err != nil {
|
|
|
|
return err
|
|
|
|
} else {
|
|
|
|
unlock()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|