Vercel Daemons can now auto-restart when they go unhealthy
A new livenessProbe field in vercel.json lets Vercel ping an HTTP endpoint on your Daemon and restart its container if the check starts failing.
Vercel Daemons, the background-worker feature it put into public beta on 15 October, now support configurable HTTP liveness checks. Add a livenessProbe to vercel.json and Vercel will periodically request the given port and path on your daemon’s container.
{
"daemons": {
"worker": {
"root": "worker/",
"entrypoint": "Dockerfile",
"livenessProbe": {
"httpGet": { "port": 1234, "path": "/health" }
}
}
}
}
If that endpoint stops responding correctly, Vercel restarts the container. That is a different failure mode from the crash recovery Daemons already had: a worker can keep running, and keep its process alive, while no longer doing useful work, and a plain crash restart would never catch that.
Why it matters: Daemons are built to run with no HTTP server at all, pulling jobs from a queue or a database in a loop, so until now there was no built-in way for Vercel to tell a hung worker from an idle, healthy one. If you’re running a Daemon, a lightweight health endpoint and this one field buys you automatic recovery you’d otherwise have to build yourself.
The caveat: Daemons are still public beta, not GA, so treat this as useful now rather than a long-term stable contract.