diff --git a/kernel/cache/asset.go b/kernel/cache/asset.go index 13ee49891..d96f46ee0 100644 --- a/kernel/cache/asset.go +++ b/kernel/cache/asset.go @@ -37,6 +37,8 @@ var Assets = map[string]*Asset{} var assetsLock = sync.Mutex{} func LoadAssets() { + defer logging.Recover() + start := time.Now() assetsLock.Lock() defer assetsLock.Unlock() diff --git a/kernel/model/assets_watcher.go b/kernel/model/assets_watcher.go index b12e08da8..b6666da43 100644 --- a/kernel/model/assets_watcher.go +++ b/kernel/model/assets_watcher.go @@ -84,7 +84,7 @@ func watchAssets() { } // 重新缓存资源文件,以便使用 /资源 搜索 - cache.LoadAssets() + go cache.LoadAssets() } } }() diff --git a/kernel/model/assets_watcher_darwin.go b/kernel/model/assets_watcher_darwin.go index ead49295f..4cb346697 100644 --- a/kernel/model/assets_watcher_darwin.go +++ b/kernel/model/assets_watcher_darwin.go @@ -58,7 +58,7 @@ func watchAssets() { } // 重新缓存资源文件,以便使用 /资源 搜索 - cache.LoadAssets() + go cache.LoadAssets() case err, ok := <-assetsWatcher.Error: if !ok { return