From 358bfd94533ff42e10844a3e9d8f0ae3ac55f19b Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Tue, 28 Apr 2026 20:25:11 -0400 Subject: [PATCH] feat(cmd): start similarity worker alongside HTTP server --- cmd/minstrel/main.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cmd/minstrel/main.go b/cmd/minstrel/main.go index a78835f3..9b000abe 100644 --- a/cmd/minstrel/main.go +++ b/cmd/minstrel/main.go @@ -19,6 +19,7 @@ import ( "git.fabledsword.com/bvandeusen/minstrel/internal/scrobble" "git.fabledsword.com/bvandeusen/minstrel/internal/scrobble/listenbrainz" "git.fabledsword.com/bvandeusen/minstrel/internal/server" + "git.fabledsword.com/bvandeusen/minstrel/internal/similarity" "git.fabledsword.com/bvandeusen/minstrel/internal/subsonic" ) @@ -81,6 +82,12 @@ func run() error { scrobbleWorker := scrobble.NewWorker(pool, listenbrainz.NewClient(), logger.With("component", "scrobble")) go scrobbleWorker.Run(ctx) + // Start the similarity ingest worker. Per spec §M4b, runs every 1h, drains + // up to 5 played tracks + 5 played artists per tick, weekly re-fetch cap + // per row. Public LB endpoints — no token required. + similarityWorker := similarity.NewWorker(pool, listenbrainz.NewClient(), logger.With("component", "similarity")) + go similarityWorker.Run(ctx) + srv := server.New(logger, pool, scanner, subsonic.Config{ AllowPlaintextPassword: cfg.Subsonic.AllowPlaintextPassword, }, cfg.Events, cfg.Recommendation)