resonate-recursive-fan-out-pattern-python

Installation
SKILL.md

Resonate Recursive Fan-Out Pattern — Python

Overview

Recursive fan-out is when a durable function spawns child invocations (either of itself or of siblings), optionally waits for them in parallel, and possibly continues recursing. Each child is its own Resonate promise; if a worker crashes, each child resumes independently.

The pattern is expressed in Python by launching multiple ctx.run(...) or ctx.rpc(...) calls before awaiting them — collect the futures first, then await them. This is different from TS's map-over-promises shape only in syntax; the semantics are identical.

When to use

  • Batch processing where items are independent
  • Web crawling / tree traversal with dynamic depth
  • Map-reduce style workflows
  • Any fan-out where each leaf is a discrete, retryable unit of work

Don't use for parallel I/O within a single step (use async clients directly inside a ctx.run envelope) or for a tight inner loop (overhead of a promise per item dominates).

Parallel fan-out in the same process

Installs
1
GitHub Stars
6
First Seen
Aug 10, 2026
resonate-recursive-fan-out-pattern-python — resonatehq/resonate-skills