From db668c078742fdf78c3b9f15b3a8bbd28f287276 Mon Sep 17 00:00:00 2001 From: josh Date: Thu, 23 Apr 2026 22:28:07 -0400 Subject: [PATCH] feat: run full scrape on backend container start Fires scrapeToday() then scrapeFullYear() as a background task on startup so fresh deploys have data immediately instead of waiting for the first cron tick. Staleness check makes warm restarts a no-op. Co-Authored-By: Claude Opus 4.6 --- backend/src/services/scheduler.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/backend/src/services/scheduler.ts b/backend/src/services/scheduler.ts index 74bc580..6bd7481 100644 --- a/backend/src/services/scheduler.ts +++ b/backend/src/services/scheduler.ts @@ -36,4 +36,13 @@ export function startScheduler(): void { console.log(" tier-2: current month — every 6h"); console.log(" tier-3: upcoming — 3 AM + 3 PM"); console.log(" tier-4: full year — 3 AM daily"); + + console.log("[scheduler] running startup scrape"); + scrapeToday() + .then((r) => { + console.log(`[scheduler] startup today done: ${r.fetched} fetched, ${r.updated} updated`); + return scrapeFullYear(); + }) + .then((r) => console.log(`[scheduler] startup full-year done: ${r.fetched} fetched, ${r.skipped} skipped`)) + .catch((err) => console.error("[scheduler] startup scrape error:", err)); }