28 lines
454 B
Go
28 lines
454 B
Go
package cache
|
|
|
|
import "path/filepath"
|
|
|
|
func (c *Cache) Refresh() error {
|
|
if !c.mu.TryLock() {
|
|
return nil
|
|
}
|
|
defer c.mu.Unlock()
|
|
|
|
for _, repo := range c.mirroredRepos {
|
|
if err := c.refreshDB(repo); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (c *Cache) refreshDB(repo string) error {
|
|
dbFile := repo + ".db.tar.gz"
|
|
dbPath := filepath.Join(repo, "os/x86_64", dbFile)
|
|
err := c.Fetch(dbPath)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|