resonate-recursive-fan-out-pattern-python

Coordinates recursive parallel Python workflows with Resonate's begin_run and begin_rpc for durable child spawning and partial-failure tolerance.

6|Updated Jan 8, 2026
One-click install
npx skills add https://github.com/resonatehq/resonate-skills --skill resonate-recursive-fan-out-pattern-python
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: resonate-recursive-fan-out-pattern-python
Source: https://github.com/resonatehq/resonate-skills/tree/main/resonate-recursive-fan-out-pattern-python
Command: npx skills add https://github.com/resonatehq/resonate-skills --skill resonate-recursive-fan-out-pattern-python

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Implement durable Python patterns to fan-out work recursively across items in a tree or batch, ensuring each child is independently durable and can resume after a crash.

Core Features & Use Cases

  • Recursive fan-out: spawn child invocations and gather results in parallel.
  • Cross-depth recursion: optionally deepen the fan-out tree with depth control.
  • Partial failure tolerance: handle individual child failures and continue processing others.

Quick Start

Define a recursive fan-out function that uses ctx.begin_run to spawn child work and await their results, enabling dynamic trees with optional recursion.

Frequently Asked Questions about resonate-recursive-fan-out-pattern-python

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement durable recursive fan-out workflows in Python?

Durable recursive fan-out workflows are implemented by using a Resonate context to spawn child invocations with begin_run or begin_rpc, allowing each child to independently execute, recurse, and resume after a crash.

How does partial failure handling work in parallel Python data pipelines?

Partial failure handling in parallel Python data pipelines allows individual child invocations to fail while the parent workflow continues processing other children, gathering results robustly without aborting the entire tree.

What is the best way to orchestrate tree-like batch processing with independent child durability?

Orchestrating tree-like batch processing with independent child durability is best achieved by assigning stable invocation IDs to each node and spawning parallel work via begin_run, ensuring every child can resume independently after failures.

Can I control recursion depth when fanning out parallel web crawling tasks?

Yes, you can control recursion depth when fanning out parallel web crawling tasks by applying optional depth control parameters within the recursive function, preventing infinite loops and limiting the fan-out tree size.

Do I need a specific framework to run recursive parallel workflows with crash recovery?

Yes, running recursive parallel workflows with crash recovery requires a Resonate context to manage durable execution, stable invocation IDs, and the begin_run or begin_rpc primitives needed to spawn and track child processes.

Why use stable invocation IDs for parallel fan-out in data pipelines?

Stable invocation IDs are used for parallel fan-out in data pipelines to ensure each child invocation is independently durable, allowing the system to track, resume, or deduplicate specific tasks if a crash or partial failure occurs.