Files
MeBox/internal/service/scanner_post_scan.go
T
2026-06-26 08:42:16 +08:00

37 lines
1.1 KiB
Go

package service
import (
"context"
"time"
"go.uber.org/zap"
)
func (s *ScannerService) invalidateMediaCache(ctx context.Context) {
if s != nil && s.cache != nil {
s.cache.DeletePrefix(ctx, "media:")
s.cache.DeletePrefix(ctx, "stats:")
}
}
func (s *ScannerService) startAutoScrape(ctx context.Context, libraryID string) {
scrapeCtx, cancel := context.WithTimeout(context.WithoutCancel(ctx), 30*time.Minute)
go func() {
defer cancel()
result, err := s.scraper.EnrichLibraryDetailedWithOptions(scrapeCtx, libraryID, skipEpisodeArtworkOptions(false))
if err != nil {
s.log.Warn("scraper enrich failed", zap.Error(err))
return
}
if result.Processed > 0 && s.organizer != nil {
if reclassified, err := s.organizer.ReclassifyMisclassifiedMedia(scrapeCtx, MediaCategoryReclassifyOptions{LibraryIDs: []string{libraryID}}); err != nil {
s.log.Warn("scrape auto reclassify failed", zap.String("library_id", libraryID), zap.Error(err))
} else if reclassified.Reclassified > 0 {
s.log.Info("scrape auto reclassified media",
zap.String("library_id", libraryID),
zap.Int("reclassified", reclassified.Reclassified))
}
}
}()
}