Skip to content

Latest commit

 

History

History

parallel

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

Parallel sample

Features

  • Uses durable timers with WhenAny so the winning branch is deterministic.
  • Fans out a controlled set of activity calls.
  • Uses WhenAll to 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.

Prerequisites

Start a Durable Task Scheduler endpoint or emulator and set:

export DTS_CONNECTION_STRING="Endpoint=http://localhost:8080;TaskHub=default;Authentication=None"

Run

go run ./samples/parallel

Expected result

The 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

Cleanup

The sample terminates if needed and recursively purges only its generated sample-parallel-* orchestration instance before shutting down.

Noninteractive command

DTS_CONNECTION_STRING="$DTS_CONNECTION_STRING" go run ./samples/parallel