Feature workflows remote activity reminder#5036
Open
JoshVanL wants to merge 3 commits intodapr:v1.17from
Open
Conversation
Workflow: - Adds docs on retention policy - Move concurrency docs to a new page. - Clear up refs to actor state store CLI: - Update docs to remove need for --connection-string - Adds note about purge `--force`. Reminder: - Adds reference to overwrite & failure policy Signed-off-by: joshvanl <me@joshvanl.dev>
Signed-off-by: joshvanl <me@joshvanl.dev>
Signed-off-by: joshvanl <me@joshvanl.dev>
Contributor
Contributor
Author
msfussell
reviewed
Feb 23, 2026
Member
msfussell
left a comment
There was a problem hiding this comment.
Looking good. Some comments
I just found this one https://github.com/dapr/docs/pull/5039/changes is it a duplicate?
| Only available on **reminders**. | ||
|
|
||
| `overwrite` is an optional boolean parameter that indicates whether to overwrite an existing reminder with the same name. | ||
| If `overwrite` is set to `true`, any existing reminder with the same name will be replaced by the new configuration. |
Member
There was a problem hiding this comment.
Suggested change
| If `overwrite` is set to `true`, any existing reminder with the same name will be replaced by the new configuration. | |
| If `overwrite` is set to `true`, any existing reminder with the same name is replaced by the new configuration. |
|
|
||
| `overwrite` is an optional boolean parameter that indicates whether to overwrite an existing reminder with the same name. | ||
| If `overwrite` is set to `true`, any existing reminder with the same name will be replaced by the new configuration. | ||
| If `overwrite` is set to `false` or omitted, and a reminder with the same name already exists, the operation will fail with a already exists error. |
Member
There was a problem hiding this comment.
Suggested change
| If `overwrite` is set to `false` or omitted, and a reminder with the same name already exists, the operation will fail with a already exists error. | |
| If `overwrite` is set to `false` or omitted, and a reminder with the same name already exists, the operation fails with a already exists error. |
| `overwrite` is an optional boolean parameter that indicates whether to overwrite an existing reminder with the same name. | ||
| If `overwrite` is set to `true`, any existing reminder with the same name will be replaced by the new configuration. | ||
| If `overwrite` is set to `false` or omitted, and a reminder with the same name already exists, the operation will fail with a already exists error. | ||
| Note that overwriting an existing reminder will reset its an error.state, including the number of invocations and the next trigger time, just like creating a new reminder. |
Member
There was a problem hiding this comment.
Suggested change
| Note that overwriting an existing reminder will reset its an error.state, including the number of invocations and the next trigger time, just like creating a new reminder. | |
| Note that overwriting an existing reminde resets its a `error.state`, including the number of invocations and the next trigger time, just like creating a new reminder. |
| When an actor's method completes successfully, the runtime will continue to invoke the method at the specified timer or reminder schedule. However, if the method throws an exception, the runtime catches it and logs the error message in the Dapr sidecar logs, without retrying. | ||
|
|
||
| To allow actors to recover from failures and retry after a crash or restart, you can persist an actor's state by configuring a state store, like Redis or Azure Cosmos DB. | ||
| When an actor's method completes successfully, the runtime will continue to invoke the method at the specified timer or reminder schedule. |
Member
There was a problem hiding this comment.
Suggested change
| When an actor's method completes successfully, the runtime will continue to invoke the method at the specified timer or reminder schedule. | |
| When an actor's method completes successfully, the runtime continues to invoke the method at the specified timer or reminder schedule. |
| failed to purge orchestration state: rpc error: code = FailedPrecondition desc = failed to purge orchestration state: failed to lookup actor: api error: code = FailedPrecondition desc = did not find address for actor | ||
| ``` | ||
|
|
||
| It is possible to purge a workflow _without_ a workflow application running by using the `--force` flag; however, this is should only be used when you are certain that no workflow instances are currently running, as it **will** otherwise corrupt the workflow state machine. |
Member
There was a problem hiding this comment.
Suggested change
| It is possible to purge a workflow _without_ a workflow application running by using the `--force` flag; however, this is should only be used when you are certain that no workflow instances are currently running, as it **will** otherwise corrupt the workflow state machine. | |
| It is possible to purge a workflow _without_ a workflow application running by using the `--force` flag; however, this should only be used when you are certain that no workflow instances are currently running, as it **will** corrupt the workflow state machine. |
| @@ -746,5 +628,3 @@ Now that you've learned how to manage workflows, learn how to execute workflows | |||
| - [.NET example](https://github.com/dapr/dotnet-sdk/tree/master/examples/Workflow) | |||
Member
There was a problem hiding this comment.
Are there examples for Python that we can add to this list?
These
- Try out the following examples:
| These limits are imposed on a _per_ sidecar basis, meaning that if you have 10 replicas of your workflow app, the effective limit is 10 times the configured value. | ||
|
|
||
| Setting these limits can help prevent resource exhaustion on your Dapr sidecar and application, or to drain down a backlog of workflows if there had been a spike in activity causing resource contention. | ||
| These limits do not distinguish between different workflow or activity definitions, so they apply to all workflows and activities running in the sidecar. |
Member
There was a problem hiding this comment.
This is great. Is there any other guidance that can be provided on how to get to a number that is applicable other than by trial?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Branched from #5017