temporalio / temporalio/temporal
Support for selecting "Workflow Id Conflict Policy" for child workflows
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 23.2k
- Forks
- 1.9k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 228
Description
Is your feature request related to a problem? Please describe.
I have a setup where an orchestrator workflow calls child workflows. The parent workflow defines the "top-level" logic (much like a flowchart) and delegates the specifics to the children. The pattern works well in my use case since the goal is to isolate the parent workflow from the implementation details of each step.
In case the parent must be reset, I would like its children to be reused with a "Use Existing" reuse policy. The challenge is that this option is not supported when starting a child workflow.
Describe the solution you'd like
Support for selecting the "Workflow Id Conflict Policy" when starting a child workflow (in Python).
Describe alternatives you've considered
- Redesigning our use pattern with workflows and child workflows.
- Selecting the "Workflow Id Reuse Policy" to "Terminate if Running." Not ideal since the child Workflow could still be healthy.
Additional context
I am using the Python SDK, but noticed the option is also not present in the other SDKs.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Begin with the Python SDK's child-workflow start API and trace the corresponding service/API definition; compare how workflow ID conflict policy is represented for top-level starts versus child starts. Done means callers can select Use Existing when starting a child workflow and the option is consistently supported across the SDKs mentioned.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, python
- Domain
- backend-api-design, distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100