refactor(scanner): make poll interval dynamic from database

- Add GetPollInterval() method to MediaScanner to read from database
- Add GetAutoScanEnabled() method to check if auto-scan is enabled
- Remove ScanPollIntervalSeconds from config (now DB-driven)
- Update NewMediaScanner signature to not require interval parameter
- Remove SCAN_POLL_INTERVAL_SECONDS from docker-compose env var
This commit is contained in:
2026-02-28 12:57:06 -05:00
parent 4d0d86838a
commit ce72781ec0
4 changed files with 72 additions and 44 deletions
+1 -4
View File
@@ -16,7 +16,6 @@ type Handler struct {
db *database.Queries
scanner *services.MediaScanner
worker *services.Worker
scheduler *services.Scheduler
queueProcessor *wsync.SyncQueueProcessor
queueCtx context.Context
queueCancel context.CancelFunc
@@ -34,7 +33,6 @@ type Handler struct {
func NewHandler(db *database.Queries, connManager *wsync.ConnectionManager, queueProcessor *wsync.SyncQueueProcessor, cfg *config.Config) *Handler {
ctx, cancel := context.WithCancel(context.Background())
worker := services.NewWorker(3)
scheduler := services.NewScheduler(worker, db)
queueCtx, queueCancel := context.WithCancel(context.Background())
@@ -42,9 +40,8 @@ func NewHandler(db *database.Queries, connManager *wsync.ConnectionManager, queu
return &Handler{
db: db,
scanner: services.NewMediaScanner(db, cfg.ScanPollIntervalSeconds),
scanner: services.NewMediaScanner(db),
worker: worker,
scheduler: scheduler,
queueProcessor: queueProcessor,
queueCtx: queueCtx,
queueCancel: queueCancel,