feat: add admin sitemap regeneration endpoint and cron task

This commit is contained in:
2026-05-09 13:30:38 +08:00
parent c6a9b448d3
commit 03428bdd0b
5 changed files with 277 additions and 235 deletions
+15
View File
@@ -110,6 +110,21 @@ registerCronTask("orphan_detection", async () => {
}
})
// ── Sitemap Regeneration Task ────────────────────────────────────────
registerCronTask("sitemap_regeneration", async () => {
const start = Date.now()
const details: Record<string, unknown> = {}
try {
const { generateSitemaps } = await import("@/lib/sitemap/generate-static")
await generateSitemaps()
details.regenerated = true
return { name: "sitemap_regeneration", status: "success" as const, durationMs: Date.now() - start, details }
} catch (err) {
details.error = err instanceof Error ? err.message : String(err)
return { name: "sitemap_regeneration", status: "error" as const, durationMs: Date.now() - start, details }
}
})
// ── Cron Route ──────────────────────────────────────────────────────
export const cronRoutes = new Elysia({ prefix: "/cron" }).post(
"/daily",