What is a Temporal Worker Deployment?
This page defines Worker Deployments and Worker Deployment Versions and explains their use cases.
The Worker Deployments feature is available in Pre-release.
Supported Worker Deployment Clients include:
Open source users need:
What are Worker Deployments?
A Worker Deployment is a logical service that groups similar Workers together for unified management. Each Deployment has a name (such as your service name) and supports versioning through a series of Worker Deployment Versions.
What are Worker Deployment Versions?
A Worker Deployment Version represents an iteration of a Worker Deployment. Each Deployment Version consists of Workers that share the same code build and environment. When a Worker starts polling for Workflow and Activity Tasks, it reports its Deployment Version to the Temporal Server.
What can I do with Worker Deployments?
Worker Deployments currently support Worker Versioning, with more features planned for the future.
How do I enable Worker Deployments?
Temporal Server disables Worker Deployments by default.
Temporal Cloud customers: Contact your Temporal account team or the Temporal Support Team for Pre-release access.
Open source users: Enable the system.enableDeploymentVersions and frontend.workerVersioningWorkflowAPIs dynamic config values by setting both to true
.
For example, with the Temporal CLI, run:
temporal server start-dev \
--dynamic-config-value system.enableDeploymentVersions=true \
--dynamic-config-value frontend.workerVersioningWorkflowAPIs=true
To add your Worker to a Deployment, provide both the Deployment name and Version when creating your Worker. When your deployment system is ready, turn on Versioning as well. Refer to Worker Versioning for details.
When running multiple Workers in one process (such as using multiple Task Queues), you'll typically use the same Deployment name for all of them, since they belong to the same service.
The server will automatically register new Deployments and Deployment Versions when a Worker connects. You can see the status of Versions on the Deployments page in Temporal UI.
SDK-specific documentation will be available soon.