diff --git a/handler/scoresaber/bs50.go b/handler/scoresaber/bs50.go index 53d7d7c..c2bf73d 100644 --- a/handler/scoresaber/bs50.go +++ b/handler/scoresaber/bs50.go @@ -15,6 +15,7 @@ import ( "sync" "time" + "git.lxtend.com/qqbot/util" "github.com/fogleman/gg" "github.com/nfnt/resize" "golang.org/x/image/font/opentype" @@ -25,6 +26,16 @@ var ( imageCacheLock sync.RWMutex ) +func init() { + util.AddCycleTask("bs50_image_cache_cleaner", 10*time.Minute, 10*time.Minute, func() { + imageCacheLock.Lock() + defer imageCacheLock.Unlock() + for k := range imageCache { + delete(imageCache, k) + } + }) +} + func loadImageFromCache(path string) (image.Image, error) { imageCacheLock.RLock() if img, exists := imageCache[path]; exists {