2.5 KiB
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:
- Apply migration:
npx prisma migrate deploy. - Setelah cron berikutnya jalan, cek
/admin/systemuntuk lihat entry pertama. - Saat menambah cron route handler baru, daftarkan jobName di
TRACKED_JOBSdiapp/admin/system/page.tsx.
Phase 3-4 ⏳ (deferred)
Stale state alerts + Discord webhook. Lihat versi awal di ADMIN_ROADMAP.md.