- Nov dnevni scheduler (server/scheduler.ts): vsak dan ob zagonu in vsakih 6h preveri/generira horoskope in kozmicne dogodke (prej samo enkrat ob zagonu) - Kozmicni dogodki so zdaj AI-generirani in dnevni (nova tabela cosmic_events + /api/cosmic-events), namesto hardcoded fiksnih datumov iz feb/mar 2026 - Naslovni horoskop widget bere pravi AI horoskop za danes (prej staticni tekst) - Frontend: staleTime 30min + refetchOnWindowFocus za dnevno osvezevanje
29 lines
940 B
TypeScript
29 lines
940 B
TypeScript
import { generateDailyHoroscopes, generateCosmicEvents } from "./horoscope-generator";
|
|
|
|
async function runDailyGeneration() {
|
|
try {
|
|
await generateDailyHoroscopes();
|
|
} catch (err: any) {
|
|
console.error("[scheduler] Horoscope generation failed:", err.message);
|
|
}
|
|
try {
|
|
await generateCosmicEvents();
|
|
} catch (err: any) {
|
|
console.error("[scheduler] Cosmic events generation failed:", err.message);
|
|
}
|
|
}
|
|
|
|
export function startDailyScheduler() {
|
|
// Run once at startup (generators are idempotent — they skip if today already exists).
|
|
runDailyGeneration();
|
|
|
|
// Re-check every 6 hours. Covers the day rollover without relying on container restarts.
|
|
const SIX_HOURS = 6 * 60 * 60 * 1000;
|
|
setInterval(() => {
|
|
console.log("[scheduler] Running scheduled daily generation check...");
|
|
runDailyGeneration();
|
|
}, SIX_HOURS);
|
|
|
|
console.log("[scheduler] Daily horoscope + cosmic events scheduler started.");
|
|
}
|