Temporal Nexus is a new feature of the Temporal platform designed to connect durable executions across team, namespace, region, and cloud boundaries. It promotes a more modular architecture for sharing a subset of your team’s capabilities via well-defined service API contracts for other teams to use, that abstract underlying Temporal primitives, like Workflows, or execute arbitrary code.
Learn more at temporal.io/nexus.
This sample shows how to use Temporal for authoring a Nexus service and call it from a workflow.
- service - shared service defintion
- caller - caller workflows, worker, and starter
- handler - handler workflow, operations, and worker
- options - command line argument parsing utility
- Follow the instructions on the docs site to install Temporal CLI.
NOTE: Required version is at least v1.1.0.
HTTP port is required for Nexus communications
temporal server start-dev --http-port 7243 --dynamic-config-value system.enableNexus=true
temporal operator namespace create --namespace my-target-namespace
temporal operator namespace create --namespace my-caller-namespace
temporal operator nexus endpoint create \
--name my-nexus-endpoint-name \
--target-namespace my-target-namespace \
--target-task-queue my-target-task-queue \
--description-file ./nexus/service/description.md
uv run python nexus/handler/worker.py
uv run python nexus/caller/app.py
TODO