microsoft / durabletask-python

A Durable Task Python SDK compatible with Dapr Workflow and its underlying Durable Task engine
MIT License
13 stars 6 forks source link

Support orchestration ID reuse policy #26

Open kaibocai opened 6 months ago

kaibocai commented 6 months ago

durabletask-go now support orchestration ID reuse policy, customer can reuse the orchestration ID with three different action ERROR, IGNORE, and TERMINATE with a target runtime status set.

ERROR- If there is an existing workflow then the scheduler throws an exception (this is the current behavior). IGNORE- If there is an existing workflow already scheduled, then the scheduler does nothing. TERMINATE- Terminates any existing workflows with the same instance ID and then schedules a new instance as one atomic action, similar to on-demand ContinueAsNew.

SDK needs to expose those options to customer orchestration ID reuse support.

Reference:

  1. https://github.com/microsoft/durabletask-go/pull/46
  2. https://github.com/microsoft/durabletask-java/pull/188