refac: atomic merge, lost-update race, RunPurge cost, duplicated walks

This commit is contained in:
Florian Sylvain committed 2026-10-21 22:47:46 +02:00
1 parent 0fc3511e2b
commit 074944c99a
45 files changed
+2204 -267

No files matched your search

@@ -20,6 +20,10 @@ func siteImageUsage(sites site.Repository) (map[uint32]int, error) {
}
func imageUsageCount(sites site.Repository, authors author.Repository, entries *entryMediaScanner) (map[uint32]int, error) {
return combinedImageUsage(sites, authors, entries.usageCounts)
}
func combinedImageUsage(sites site.Repository, authors author.Repository, entryCounts func() (map[uint32]int, error)) (map[uint32]int, error) {
usage, err := siteImageUsage(sites)
if err != nil {
return nil, err
@@ -31,11 +35,11 @@ func imageUsageCount(sites site.Repository, authors author.Repository, entries *
for imageID, total := range avatars {
usage[imageID] += total
}
entryCounts, err := entries.usageCounts()
counts, err := entryCounts()
if err != nil {
return nil, err
}
for imageID, total := range entryCounts {
for imageID, total := range counts {
usage[imageID] += total
}
return usage, nil