登録番組の定期確認を追加(24 時間ごと、予告の除外、確認エラーの記録)

This commit is contained in:
2026-10-03 23:42:25 +09:00
parent 82536c6398
commit 944086c8ae
14 changed files with 739 additions and 18 deletions
+18 -1
View File
@@ -13,6 +13,7 @@ import (
"time"
"gitea.kazu634.com/kazu634/tver/internal/store"
"gitea.kazu634.com/kazu634/tver/internal/tver"
workerpkg "gitea.kazu634.com/kazu634/tver/internal/worker"
"github.com/jackc/pgx/v5/pgxpool"
)
@@ -34,14 +35,30 @@ func main() {
log.Fatal(err)
}
defer pool.Close()
runner, err := workerpkg.New(store.New(pool), config, log.Default())
jobStore := store.New(pool)
runner, err := workerpkg.New(jobStore, config, log.Default())
if err != nil {
log.Fatal(err)
}
tverClient, err := tver.NewClient("", nil)
if err != nil {
log.Fatal(err)
}
scheduler, err := workerpkg.NewSubscriptionScheduler(jobStore, tverClient,
workerpkg.SubscriptionSchedulerConfig{PreviewMaxSeconds: tver.PreviewMaxSeconds}, log.Default())
if err != nil {
log.Fatal(err)
}
schedulerDone := make(chan struct{})
go func() {
defer close(schedulerDone)
scheduler.Run(ctx)
}()
log.Printf("worker started (concurrency=%d)", config.Concurrency)
if err := runner.Run(ctx); err != nil {
log.Fatal(err)
}
<-schedulerDone
log.Print("worker stopped")
}