Improve data sync performance for booting https://github.com/siyuan-note/siyuan/issues/13216

This commit is contained in:
Daniel 2024-11-21 10:59:29 +08:00
parent eba4dfa0da
commit 89f1887c3b
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
16 changed files with 153 additions and 113 deletions

18
kernel/cache/asset.go vendored
View file

@ -72,21 +72,27 @@ func LoadAssets() {
assetsCache = map[string]*Asset{}
assets := util.GetDataAssetsAbsPath()
filelock.Walk(assets, func(path string, info fs.FileInfo, err error) error {
if nil == info {
filelock.Walk(assets, func(path string, d fs.DirEntry, err error) error {
if nil != err || nil == d {
return err
}
if info.IsDir() {
if strings.HasPrefix(info.Name(), ".") {
if d.IsDir() {
if strings.HasPrefix(d.Name(), ".") {
return filepath.SkipDir
}
return nil
}
if strings.HasSuffix(info.Name(), ".sya") || strings.HasPrefix(info.Name(), ".") || filelock.IsHidden(path) {
if strings.HasSuffix(d.Name(), ".sya") || strings.HasPrefix(d.Name(), ".") || filelock.IsHidden(path) {
return nil
}
hName := util.RemoveID(info.Name())
info, err := d.Info()
if nil != err {
logging.LogErrorf("load assets failed: %s", err)
return nil
}
hName := util.RemoveID(d.Name())
path = "assets" + filepath.ToSlash(strings.TrimPrefix(path, assets))
assetsCache[path] = &Asset{
HName: hName,