Files
setrip/docs/archive/ADMIN_SYSTEM_HEALTH_ROADMAP.md
T

2.5 KiB

Setrip — Admin System Health Roadmap (ARCHIVED — DELIVERED 2026-05-18, partial)

Admin perlu visibilitas atas job otomatis (cron). Phase 1 (cron log foundation) delivered. Phase 2 (status page) bonus.


Status delivery

Phase Status Catatan
Phase 1 — Cron Run Log Delivered Model CronRun, helper runCron(), wire ke cron existing.
Phase 2 — System Status Page Delivered (bonus) /admin/system tampilkan summary cron + 20 run terakhir + health badge (ok/stale/failed).
Phase 3 — Stale State Alerts Deferred Belum perlu sampai ada incident.
Phase 4 — External Alerting (Discord) Deferred Skip kecuali admin sering miss banner.

Phase 1 — Cron Run Log

# Item Status File
1.1 Model CronRun + enum CronRunStatus + migration prisma/schema.prisma + prisma/migrations/20260518170000_add_cron_run/
1.2 Helper runCron(jobName, fn) — auto create RUNNING row → SUCCESS/FAILED lib/cron-runner.ts
1.3 Wire runCron di auto-complete-trips cron app/api/cron/auto-complete-trips/route.ts
1.4 Wire runCron di cron payout release Defer — releaseEligible saat ini di-call dari cron yang sama, sudah ter-wrap.
1.5 Wire runCron di cron lain (refund sweep, dst) saat ditambah Tidak ada cron lain saat ini.

Phase 2 — System Status Page (bonus)

# Item Status File
2.1 Per-job summary: last run, last success, count 7d, error count 7d app/admin/system/page.tsx
2.2 20 cron run terakhir di table bawah app/admin/system/page.tsx
2.3 Health badge (🟢 OK < 25 jam, 🟡 STALE, 🔴 FAILED) app/admin/system/page.tsx
2.4 Link "System" di admin navbar components/admin/admin-sidebar.tsx

Tindakan manual ops:

  1. Apply migration: npx prisma migrate deploy.
  2. Setelah cron berikutnya jalan, cek /admin/system untuk lihat entry pertama.
  3. Saat menambah cron route handler baru, daftarkan jobName di TRACKED_JOBS di app/admin/system/page.tsx.

Phase 3-4 (deferred)

Stale state alerts + Discord webhook. Lihat versi awal di ADMIN_ROADMAP.md.