feat(cmd): start scrobble worker alongside HTTP server
This commit is contained in:
@@ -16,6 +16,8 @@ import (
|
||||
"git.fabledsword.com/bvandeusen/minstrel/internal/db"
|
||||
"git.fabledsword.com/bvandeusen/minstrel/internal/library"
|
||||
"git.fabledsword.com/bvandeusen/minstrel/internal/logging"
|
||||
"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/subsonic"
|
||||
)
|
||||
@@ -73,6 +75,12 @@ func run() error {
|
||||
}()
|
||||
}
|
||||
|
||||
// Start the ListenBrainz scrobble worker. Per spec §M4a, runs every 30s
|
||||
// and drains up to 50 pending rows per tick. Per-user gating happens
|
||||
// inside the worker (rows from disabled users are skipped).
|
||||
scrobbleWorker := scrobble.NewWorker(pool, listenbrainz.NewClient(), logger.With("component", "scrobble"))
|
||||
go scrobbleWorker.Run(ctx)
|
||||
|
||||
srv := server.New(logger, pool, scanner, subsonic.Config{
|
||||
AllowPlaintextPassword: cfg.Subsonic.AllowPlaintextPassword,
|
||||
}, cfg.Events, cfg.Recommendation)
|
||||
|
||||
Reference in New Issue
Block a user