// 0 is effectively turning this cache off.
maxAge time.Duration
- // Number of retries on create error.
- retries int
-
// When set, we just remove this entire root directory on expiration.
pruneAllRootDir string
}
// NewCache creates a new file cache with the given filesystem and max age.
-func NewCache(fs afero.Fs, maxAge time.Duration, retries int, pruneAllRootDir string) *Cache {
+func NewCache(fs afero.Fs, maxAge time.Duration, pruneAllRootDir string) *Cache {
return &Cache{
Fs: fs,
nlocker: &lockTracker{Locker: locker.NewLocker(), seen: make(map[string]struct{})},
maxAge: maxAge,
- retries: retries,
pruneAllRootDir: pruneAllRootDir,
}
}
err error
)
- for i := -1; i < c.retries; i++ {
- r, err = create()
- if err == nil || c.retries == 0 {
- break
- }
- time.Sleep(1 * time.Second)
- }
-
+ r, err = create()
if err != nil {
return info, nil, err
}
err error
)
- for i := -1; i < c.retries; i++ {
- b, err = create()
- if err == nil || c.retries == 0 {
- break
- }
- time.Sleep(1 * time.Second)
- }
-
+ b, err = create()
if err != nil {
return info, nil, err
}
pruneAllRootDir = "pkg"
}
- m[k] = NewCache(bfs, v.MaxAge, v.retries, pruneAllRootDir)
+ m[k] = NewCache(bfs, v.MaxAge, pruneAllRootDir)
}
return m, nil
Dir: resourcesGenDir,
},
cacheKeyGetResource: Config{
- MaxAge: -1, // Never expire
- Dir: cacheDirProject,
- retries: 3, // Retries on error getting the remote resource.
+ MaxAge: -1, // Never expire
+ Dir: cacheDirProject,
},
}
// Will resources/_gen will get its own composite filesystem that
// also checks any theme.
isResourceDir bool
-
- // Number of retries when errors occurs when creating the element,
- // only used for remote resources.
- retries int
}
// GetJSONCache gets the file cache for getJSON.
t.Parallel()
c := qt.New(t)
fs := new(afero.MemMapFs)
- cache := filecache.NewCache(fs, 100, 0, "")
+ cache := filecache.NewCache(fs, 100, "")
tests := []struct {
path string