A hands-on walkthrough of Temporal's Worker Versioning on Kubernetes to prevent non-determinism errors when deploying code changes to in-flight Workflows. The tutorial demonstrates the problem with a Python research agent Workflow, then solves it using the Temporal Worker Controller — a Kubernetes operator that runs multiple Worker versions simultaneously ('rainbow deployments'), routing old Workflows to old Workers and new Workflows to new Workers. It also covers migrating long-running Workflows via Continue-as-New with AUTO_UPGRADE behavior, detecting version changes with `is_target_worker_deployment_version_changed()`, handling idle sleeping Workflows with a wake-up Signal, and progressive rollout strategies with per-version autoscaling.

22m read timeFrom temporal.io
Post cover image
Table of contents
What we’re building #Setup #The research agent #The breaking change #Worker Versioning #Long-running Workflows #Sleeping Workflows #Scaling and ramping #Wrapping up #
44 Impressions