Intermittent 5xx errors during Scalingo zero‑downtime deploy despite rolling restart
0 reputation · 25 May 2025, 06:04 UTC
Goal: achieve zero‑downtime deployments for a small web application on Scalingo by relying on the platform’s rolling restart and predeploy/postdeploy hooks.
Uncertainty: the documentation does not specify whether the router waits for a successful health‑check response (HTTP 200) before routing traffic to a newly started dyno, nor what occurs if the health check fails after the postdeploy hook has run. This ambiguity affects how long‑lived connections are handled and whether in‑flight requests may be dropped during the transition.
Questions:
- At what point does Scalingo’s router consider a new web dyno ready to receive traffic?
- Does a failing health check after the postdeploy hook prevent traffic routing and trigger a rollback to the previous dyno?
- How are long‑lived connections (e.g., WebSockets) treated if the health check is pending or fails during the deploy window?