Follow-up to the subprocess failure handling: a subprocess node now resumes its parent with __subprocess_failed__ when its child fails, so retry is already expressible in the workflow graph (route the failed branch back to the subprocess node, bounded by a counter). A first-class retry count would be a convenience on top.

Proposed solution: add an optional retry setting to the subprocess node. When the child fails, re-launch a fresh child up to N times (with an optional backoff), and only once the attempts are exhausted resume the parent with __subprocess_failed__.

  • Same retry semantics as the node-advance retry, but a different mechanism: the node-advance retry re-runs a throwing advance within one transaction, whereas a subprocess retry re-launches a separate child instance.
  • The attempt count is tracked per subprocess token; the failure-resume this builds on is the terminal once the budget is spent.

Issue fork orchestra-3605420

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

mably created an issue. See original summary.

  • mably committed 739d57f4 on 1.x
    feat: #3605420 Add a retry count to the subprocess task: re-run a failed...
mably’s picture

Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.