Resetting Child Workflow and Resuming Parent

I’ve got a workflow that launches 3-4 child workflows, per given task. If there’s a child workflow that fails (and subsequently fails the parent), am I able to use the cli to resume one of the child workflows at a given step, and then allow that to revive the parent workflow?

Hello @nathan_hyland

If there’s a child workflow that fails (and subsequently fails the parent),

You could handle the child workflow failure in workflow code, it will prevent the parent workflow from failing

use the cli to resume one of the child workflows at a given step
There is no such thing as “resume” a failed workflow, you can reset it, which will create a new workflow execution.

In this case, it will not “revive” the parent workflow. Once a workflow execution is closed (failed in this case) the workflow state can not be changed.

If you want to elaborate on your use-case we can help on how to implement it with temporal.

Antonio

Thank you! While trying to keep vague about the inner-workings of what the applications are, there are steps each workflow needs to run. Step A, B, C. These are large enough, as well as reusable enough, that we prefer them to be in workflows of their own. Thus the child workflows.

There might be an issue where an activity in one of the steps/child workflow fails, step B. We can’t redo A, as it’s a ‘write’ and we don’t want to redo the entire workflow as a whole. We might not want to re-run parts of B, either. This could be an engineer coming in and tweaking a database entry, or possibly even changing code.

So I’m just trying to see what I’d have to do to recover from the failure in the middle of a child workflow so that the rest of that workflow can continue, and then the parent workflow and subsequent child workflows can continue on.