/health endpoint exposes
the engine’s liveness so you can watch it from an external uptime monitor
(UptimeRobot, Better Stack, Pingdom, etc.).
Endpoint
- 200 OK — the every-minute cron completed a run within
max_age_seconds. - 503 Service Unavailable — the cron has not completed a run in time (engine stalled, slow, or never started). The JSON body is still returned.
Tuning the threshold
The default staleness threshold is 180 seconds (the engine ticks every 60s, so this tolerates a couple of missed/slow ticks). Override it per monitor:Response
status is driven by the run-checks-team cron (the every-minute job — the
tightest heartbeat). The slower run-checks-starter and run-checks-free jobs
appear in crons for diagnostics but do not change the overall status. When
status is down, a message field explains why.
Wiring up UptimeRobot
- Add monitor → HTTP(s).
- URL:
https://prod-neon-alertee-gru2.encr.app/health - Monitoring interval: 1 minute.
- Alert on a non-2xx status code (the 503 is your signal).