Перейти к основному содержимому

Как это работает

Jobs are registered in a central registry and executed via three triggers:

Cron (HTTP) Vercel cron hits /api/cron/[job]
Scheduler setInterval in persistent containers
Manual Admin dashboard at /admin/jobs

Зарегистрированные задания

bot-hits-flush registered
analytics-rollup registered
analytics-cleanup registered
session-cleanup registered
grant-request-expiry registered
telegram-token-cleanup registered
notification-cleanup registered
notification-digest registered
notification-delivery registered
desk-retrieval-sync registered
blog-orphan-reaper registered
dbops-refresh registered
dbops-reaper registered
encryption-reseal registered
log-cleanup registered
desk-retention registered
ai-telemetry-retention registered
mcp-telemetry-retention registered
audit-log-retention registered
bot-ranges-refresh registered

Последние запуски

ЗаданиеСтатусТриггерДлит.РезультатВремя
bot-ranges-refreshsuccesscron24471ms30078311h ago
encryption-resealsuccesscron25ms013h ago
dbops-reapersuccesscron15ms013h ago
dbops-refreshsuccesscron0ms013h ago
blog-orphan-reapersuccesscron157ms013h ago
desk-retrieval-syncsuccesscron39ms013h ago
notification-deliverysuccesscron27ms013h ago
notification-digestsuccesscron20ms013h ago
notification-cleanupsuccesscron12ms013h ago
telegram-token-cleanupsuccesscron10ms013h ago

Ключевые файлы

Registry src/lib/server/jobs/index.ts
Runner src/lib/server/jobs/runner.ts
Scheduler src/lib/server/jobs/scheduler.ts
Cron route src/routes/api/cron/[job]/+server.ts
Schema src/lib/server/db/schema/jobs/job-execution.ts
Admin src/routes/admin/jobs/+page.svelte

Думаете, этот паттерн можно сделать лучше? Расскажите как.

Оставить отзыв