Daemons
Long-running background processes on the Vercel platform whose lifecycle is bound to a deployment. They are suited to background logic such as workers, queue consumers, and scheduled tasks, and can access other services within the same deployment through service bindings. Unlike request-driven units, daemons persist beyond individual invocations, making them appropriate for continuous processing and asynchronous workloads that must remain active for the duration of a deployment.
Timeline (last 90 days)
Vercel introduced service bindings for Daemons, allowing resident background daemons to directly call other services within the same deployment.
In Vercel's deployment model, Services are request-driven application units that typically respond to calls as HTTP services; Daemons are resident processes whose lifecycle is bound to the deployment, suited to background logic such as workers, queue consumers and scheduled tasks.
Before service bindings, communication between a Daemon and a Service relied on externally exposed HTTP addresses, requiring either making the service public or building a custom internal access channel.
With service bindings, a Daemon can declare a binding to obtain the target service's URL, and Vercel handles internal routing, authentication and TLS, while the service itself remains private and does not need to be exposed externally.
Once the Daemon has the injected URL, it can make requests using standard fetch, without importing a proprietary SDK or handling signatures/certificates.
Service bindings are one-way: Services can bind to services outside Daemons, but Services cannot bind to Daemons.
Each Daemon instance always calls the services bound to the deployment that started it, even if a promotion or rollback occurs afterward.
All Facts (7)
With service bindings, a Daemon can declare a binding to obtain the target service's URL, and Vercel handles internal routing, authentication and TLS, while the service itself remains private and does not need to be exposed externally.
50%UnverifiedIn Vercel's deployment model, Services are request-driven application units that typically respond to calls as HTTP services; Daemons are resident processes whose lifecycle is bound to the deployment, suited to background logic such as workers, queue consumers and scheduled tasks.
50%UnverifiedBefore service bindings, communication between a Daemon and a Service relied on externally exposed HTTP addresses, requiring either making the service public or building a custom internal access channel.
50%UnverifiedEach Daemon instance always calls the services bound to the deployment that started it, even if a promotion or rollback occurs afterward.
50%UnverifiedOnce the Daemon has the injected URL, it can make requests using standard fetch, without importing a proprietary SDK or handling signatures/certificates.
50%UnverifiedService bindings are one-way: Services can bind to services outside Daemons, but Services cannot bind to Daemons.
50%UnverifiedVercel introduced service bindings for Daemons, allowing resident background daemons to directly call other services within the same deployment.
50%