-
Notifications
You must be signed in to change notification settings - Fork 140
style: clarify workflow activity retry fields/defaults #836
Copy link
Copy link
Open
Labels
dapr-ext-workflowgood first issueGood for newcomersGood for newcomerskind/enhancementNew feature or requestNew feature or request
Milestone
Description
Describe the WORKFLOW SDK feature
There are multiple gotchas in the workflow activity retry policies as described below:
ACTIVITY_RETRY_POLICY = RetryPolicy(
first_retry_interval=timedelta(seconds=1),
# max_number_of_attempts is the total attempt count, not the retry count
max_number_of_attempts=5,
backoff_coefficient=3,
# Set max_retry_interval else there won't be any retries
max_retry_interval=timedelta(seconds=10),
# DON'T set retry_timeout. If the timeout is hit, the entire workflow fails and the
# final activity isn't executed.
)
https://github.com/dapr/python-sdk/blob/main/ext/dapr-ext-workflow/dapr/ext/workflow/retry_policy.py#L26
go-sdk ref https://github.com/dapr/durabletask-go/blob/main/workflow/workflow.go#L147
acceptance criteria:
- update the field values to sensible defaults if not provided
- max_number_of_attempts can remain as is, or become deprecated (still supported) and a new field of max_attempts added that will eventuallyyyyy replace this field
- all field docs strings updated to be clearer on what they do
- ensure that retries still apply if max_retry_interval is set
- update retry_timeout to indicate that if this fails then the workflow will fail
Release Note
RELEASE NOTE: ADD Clarify workflow activity retry policies fields and defaults
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
dapr-ext-workflowgood first issueGood for newcomersGood for newcomerskind/enhancementNew feature or requestNew feature or request
Type
Projects
Status
Backlog