Skip to main content
Two endpoints answer two different questions. One says the web container is alive. The other says the whole pipeline is working.

Endpoints

Both are reachable on the web origin, so an uptime check needs no credentials and no access to the API port.

What does a healthy instance look like?

The 26 hour window is deliberate. A daily schedule plus a slow night should not page you, so stale only fires once a run has genuinely been missed. A fresh instance with no apps never reports stale, because there is nothing to collect.

Monitor it

One command is enough for an uptime check.
--fail turns the 503 into a non zero exit status, which is what most monitoring agents key on. To alert on a stalled pipeline rather than on a dead API, check the stale and failedJobs fields rather than the status code. A stale pipeline still answers 200, because the API itself is healthy.

Container health checks

Every Compose service defines its own health check, and the dependency order uses them: the API waits for PostgreSQL and Redis to report healthy, and the web app waits for the API.
docker compose up --wait blocks until every check passes, so a successful exit is a real signal rather than a process start.

The daily pipeline and rate limits

What the pipeline does and when.

Troubleshooting

What to do when a field goes the wrong way.
Last modified on July 31, 2026