修复一个卡死问题

This commit is contained in:
2026-04-08 18:44:51 +08:00
parent c154abf410
commit 1d3570a505
3 changed files with 231 additions and 7 deletions
+13
View File
@@ -315,3 +315,16 @@ func (d *DB) ForEachSite(fn func(host string, info *SiteInfo) error) error {
})
})
}
// ForEachSnippet 遍历所有 URL 摘要条目,对每个条目调用 fn。
func (d *DB) ForEachSnippet(fn func(url string, entry *SnippetEntry) error) error {
return d.db.View(func(tx *bolt.Tx) error {
return tx.Bucket(bucketGate).ForEach(func(k, v []byte) error {
var entry SnippetEntry
if err := decompressUnmarshal(v, &entry); err != nil {
return nil // 跳过损坏条目
}
return fn(string(k), &entry)
})
})
}