prefetch complete
This commit is contained in:
@@ -3,6 +3,7 @@ package repomaint
|
||||
import (
|
||||
"log/slog"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/ewpt3ch/pkgstash/internal/cache"
|
||||
)
|
||||
@@ -42,16 +43,34 @@ func (r *RepoSync) Sync() error {
|
||||
for _, repo := range r.repos {
|
||||
// create map of pkgname to filenames from current db
|
||||
cachedPkgs, err := r.buildMap(repo)
|
||||
slog.Warn("failed to read current db", "err", err)
|
||||
if err != nil {
|
||||
slog.Warn("failed to read current db", "err", err)
|
||||
return err
|
||||
}
|
||||
|
||||
// call cache db fetch
|
||||
if err := r.c.FetchDB(); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
}
|
||||
// compare and fetch
|
||||
// pkgsToUpdate slice contains relative paths like
|
||||
// <repo>/os/<arch>/filename
|
||||
pkgsToUpdate, err := r.updatablePkgs(repo, cachedPkgs)
|
||||
if err != nil {
|
||||
slog.Warn("failed to get updatable pkgs list", "err", err)
|
||||
return err
|
||||
}
|
||||
|
||||
// call cache cleanup
|
||||
for _, fileName := range pkgsToUpdate {
|
||||
path := filepath.Join(repo, repoArch, fileName)
|
||||
_, err := r.c.Fetch(path)
|
||||
if err != nil {
|
||||
slog.Warn("failed to update pkg", "pkg", fileName, "err", err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// call cache cleanup
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user