uber-go / cadence-client

Framework for authoring workflows and activities running on top of the Cadence orchestration engine.
https://cadenceworkflow.io
MIT License
339 stars 128 forks source link

Support DelayStart option in ChildWorkflowOptions #1297

Open skheria opened 7 months ago

skheria commented 7 months ago

Is your feature request related to a problem? Please describe. I have a use-case where I want my current workflow to trigger another workflow but with a start delay of say 24hours. I wanted to trigger the second workflow as a child-workflow so that we are not losing association between parent-wf & child-wf. This DelayStart option is available in StartWorkflowOptions but its not available in ChildWorkflowOptions.

To solve my problem, in the interim with currently available support, I created an activity to trigger a new workflow (using StartWorkflow function) but this was an overhead as that activity is not adding any value.

Proposed Solution Give support of DelayStart for ChildWorkflows via ChildWorkflowOptions. I believe since we have ParentClosePolicyAbandon option for ParentClosePolicy, it should be okay to have childWorkflows in-fight (possible when using DelayStart) even after parent workflow has got completed/terminated/cancelled.