Skip to main content

What is a Temporal Worker Deployment?

This page defines Worker Deployments and Worker Deployment Versions and explains their use cases.

SUPPORT, STABILITY, and DEPENDENCY INFO

The Worker Deployments feature is available in Pre-release.

Supported Worker Deployment Clients include:

  • Temporal CLI: version v1.3.0 or higher
  • Go SDK: version v1.33.0 or higher
  • Other SDKs: coming soon!

Open source users need:

  • Temporal Server: version v1.27.1 or higher
  • Open Source UI: version v2.36.0 or higher

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?

note

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.

info

SDK-specific documentation will be available soon.