- Uses durable timers with
WhenAnyso the winning branch is deterministic. - Fans out a controlled set of activity calls.
- Uses
WhenAllto wait for all activity results. - Aggregates successful updates and one expected business failure without random outcomes or host I/O in the orchestrator.
- Cleans up only the orchestration instance created by this run.
Start a Durable Task Scheduler endpoint or emulator and set:
export DTS_CONNECTION_STRING="Endpoint=http://localhost:8080;TaskHub=default;Authentication=None"go run ./samples/parallelThe fast-timer branch wins the durable race. Four device update activities run
in parallel; three are updated and door-lock-02 returns the expected
blocked-by-policy business result. On success it prints:
SAMPLE_OK parallel
The sample terminates if needed and recursively purges only its generated
sample-parallel-* orchestration instance before shutting down.
DTS_CONNECTION_STRING="$DTS_CONNECTION_STRING" go run ./samples/parallel