From 870d5dc8bead22323d351d009ee23d8c24dd794f Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 6 May 2026 14:55:52 +0300 Subject: internal/service: log and concurrently process podcast feeds (task 91) - Add *slog.Logger to podcastService with NewPodcastServiceWithLogger. - Wire logger from cmd/player main.go. - Run CheckFeeds concurrently: one goroutine per feed with WaitGroup. - Add structured logging for start/finish per feed and overall count. - Log feed failures at Warn level so they are visible but not fatal. - Ensure nil logger safety with slog.Default fallback. - Add tests: empty list, concurrent OK, list error, single feed error, all feeds error. --- cmd/player/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmd') diff --git a/cmd/player/main.go b/cmd/player/main.go index 0e96e5f..c07ab93 100644 --- a/cmd/player/main.go +++ b/cmd/player/main.go @@ -96,7 +96,7 @@ func wireDeps(cfg *internal.Config, store repository.Store, logger *slog.Logger, authSvc := service.NewAuthService(store, clk, hasher, sm) helper := service.NewAccessHelper(store) - podcastSvc := service.NewPodcastService(store, clk, cfg.MediaRoot, helper, prober, thumbGen, cfg.PodcastCheckMinutes) + podcastSvc := service.NewPodcastServiceWithLogger(store, clk, cfg.MediaRoot, helper, prober, thumbGen, cfg.PodcastCheckMinutes, logger) gcWorker := service.NewGCWorker(store, clk, cfg.MediaRoot, time.Duration(cfg.GCIntervalMinutes)*time.Minute, logger) -- cgit v1.2.3