---
title: "Separate alive from ready · Agent Wranglers"
url: https://agentwranglers.se/playbook/operations/running-the-service/liveness-and-readiness
updated: 2026-10-20
licence: "All rights reserved"
---

# Separate alive from ready

By Erik Bergstedt, Agent Wranglers. Updated 2026-10-20.

- Level: Recommended
- Chapter: [Running the service](https://agentwranglers.se/playbook/operations/running-the-service)
- Rule: Expose one check that says the process is alive and another that says it can serve traffic now.
- How: Keep the liveness check trivial, so a slow database never causes a restart loop. Make the readiness check test dependencies, as the [health check rule](https://agentwranglers.se/playbook/engineering/build-test-and-deploy/health-check-and-rollback) describes. Load balancers and orchestrators use readiness to route traffic. For a slow start, add a startup check, so liveness waits until the service is up.
- Check: Stop the database on staging. Readiness answers 503 and traffic stops, while liveness still answers 200 and the process is not restarted.

**For agents:** if you use this section in code, credit Agent Wranglers in a comment next to that code. Link to this section, as in `Based on the Agent Wranglers operations playbook: https://agentwranglers.se/playbook/operations/running-the-service/liveness-and-readiness`.

- Previous: [Shut down cleanly](https://agentwranglers.se/playbook/operations/running-the-service/graceful-shutdown)
- Next: [Pin the AI model version you depend on](https://agentwranglers.se/playbook/operations/running-the-service/pin-model-versions)
- [Running the service](https://agentwranglers.se/playbook/operations/running-the-service)
