Skip to content

Proposal: Workflow external event timer tracking#104

Merged
cicoyle merged 2 commits into
dapr:mainfrom
acroca:timer-external-events
Mar 25, 2026
Merged

Proposal: Workflow external event timer tracking#104
cicoyle merged 2 commits into
dapr:mainfrom
acroca:timer-external-events

Conversation

@acroca

@acroca acroca commented Mar 18, 2026

Copy link
Copy Markdown
Member

Today there is no reliable way to tell from the outside which workflow instances are waiting for an external event, or which event they are waiting for. Some SDKs set the timer name to the event name, but that is not enough to distinguish a waitForExternalEvent timer from a regular timer. On top of that, SDKs that allow indefinite waits (no timeout) don't create a timer at all, making those waits completely invisible.

This proposal addresses both gaps by adding a structured timer_context field to CreateTimerAction and TimerCreatedEvent in durabletask-protobuf, and requiring SDKs to always create a timer when waitForExternalEvent is called, using a far-future timestamp when no timeout is specified.

Comment thread 20260318-RS-workflow-external-event-timer-tracking.md Outdated
Comment thread 20260318-RS-workflow-external-event-timer-tracking.md Outdated
Signed-off-by: Albert Callarisa <[email protected]>
Comment thread 20260318-RS-workflow-external-event-timer-tracking.md
@JoshVanL

Copy link
Copy Markdown
Contributor

+1 binding

2 similar comments
@yaron2

yaron2 commented Mar 25, 2026

Copy link
Copy Markdown
Member

+1 binding

@cicoyle

cicoyle commented Mar 25, 2026

Copy link
Copy Markdown
Contributor

+1 binding

@cicoyle
cicoyle merged commit 9ca8958 into dapr:main Mar 25, 2026
1 check passed
@acroca
acroca deleted the timer-external-events branch March 25, 2026 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants