What problem does it solve?
Many Python processes need to start, coordinate, and monitor durable workflows but lack a deterministic, crash-safe client-side API to do so; this Skill explains how to reliably initialize a Resonate client, register generator-based durable functions, invoke them across process boundaries, and manage their lifecycle from ephemeral code.
Core Features & Use Cases
- Client initialization: local and remote Resonate client construction for tests, scripts, and production processes.
- Function registration: register Python generator functions as durable workflows and control their RPC identity.
- Invocation patterns: synchronous and asynchronous same-process and remote invocations (run, begin_run, rpc, begin_rpc), subscription to existing invocations, and invocation options (timeout, retry policy, tags, idempotency, version).
- Dependency & promise management: set heavy ephemeral dependencies for durable code to reference and create/resolve external promises for human-in-the-loop or webhook-driven flows.
- Worker lifecycle: run long-polling workers in remote mode and integrate with web frameworks or background loops.
- Use case: an HTTP handler that begins a background order-processing workflow and returns immediately while the durable generator consumes external approvals via promises.
Quick Start
Initialize a Resonate client in Python, register a generator function to process orders, and run it with a stable invocation id to start durable processing.