Deployment » Health Checks

By default, for a deployment to succeed, it must pass certain “health checks.”

If the Process does not expose a port it is considered healthy if it starts and doesn’t immediately exit or crash.

If the Process exposes a port is it considered healthy after it:

  • Registers behind a load balancer
  • Passes a certain number of HTTP health checks

Common causes for not passing health checks are:

  • The cluster does not have sufficient memory or CPU resources available to start a new process
  • The cluster does not have sufficient instances where a new process port is not already reserved by an older release
  • A process crashes immediately after starting due to a problem in the latest code
  • A process takes too long to initialize its server and therefore fails a network health check
  • Returning a status code outside the acceptable (200-399,401) range

Health Check Options

services:
  web:
  health:
    grace: 5
    interval: 5
    path: /health
    timeout: 3
Label Notes
grace The amount of time to wait for a service to boot before beginning health checks.
interval The amount of time between health checks (default 5 seconds).
path The HTTP endpoint the load balancer will use to determine the application's health.
timeout The time in seconds after which no response means a failed health check (defaults to interval minus 1).

See also