Horoskop in kozmicni dogodki: dnevno AI generiranje + scheduler
- 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
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
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.");
|
||||
}
|
||||
Reference in New Issue
Block a user