Activity ID conflict policy: default vs USE_EXISTING
Two upstream calls fire
start_activity(id="evt_001")
. Server decides what happens to the second one.
Default policy
id_conflict_policy=FAIL (the default)
Caller A
start_activity(id=
"evt_001"
)
Caller B
start_activity(id=
"evt_001"
)
Temporal server
Standalone Activities registry
evt_001
: Caller A scheduled
✓
evt_001
: Caller B rejected
✗ already started
Worker
idle
Activities started
0
Calls that errored
0
With USE_EXISTING
id_conflict_policy=USE_EXISTING
Caller A
start_activity(id=
"evt_001"
)
Caller B
start_activity(id=
"evt_001"
)
Temporal server
Standalone Activities registry
evt_001
: Caller A scheduled
✓
evt_001
: Caller B returned existing handle
✓
Worker
idle
Activities started
0
Calls that errored
0
Play
Step
Restart