funboost-workflow

Orchestrates funboost tasks into serial, parallel, and fan-out aggregation pipelines.

892|166|Updated Dec 25, 2021
One-click install
npx skills add https://github.com/ydf0509/funboost --skill funboost-workflow-ydf0509
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: funboost-workflow
Source: https://github.com/ydf0509/funboost/tree/main/.agents/skills/funboost-workflow
Command: npx skills add https://github.com/ydf0509/funboost --skill funboost-workflow-ydf0509

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires funboost.

What problem does it solve? Coordinating multiple distributed funboost tasks that depend on each other—running steps in sequence, in parallel, or aggregating parallel results into a callback—requires manual glue code. This Skill provides Celery-style primitives (chain, group, chord) to compose multi-step task pipelines declaratively. ## Core Features & Use Cases - Serial Pipelines with chain: Pass each task's return value as the first argument to the next task, e.g., download -> process -> upload. - Parallel Execution with group: Run multiple task signatures concurrently, such as transcoding one video into 360p, 720p, and 1080p at the same time. - Fan-out/Fan-in with chord: Execute a group in parallel, then collect all results as a list into a callback task like a user notification. - Nested Composition: Combine chain, group, and chord arbitrarily to model complex multi-stage workflows. - Use Case: Build a video processing pipeline where a download task feeds a chord that transcodes in parallel and finally notifies the user with the aggregated results. ## Quick Start Ask the AI to write a funboost workflow that chains a download task into a chord of parallel processing tasks with a notification callback, using WorkflowBoosterParams and calling consume() on every task.

Frequently Asked Questions about funboost-workflow

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

FAQPage Schema
How do I chain funboost tasks into a sequential pipeline?▼

Import chain from funboost.workflow, create lazy signatures with func.s(args), and pass them to chain(a, b, c). Call consume() on each task first, then run workflow.apply(); each task's return value becomes the next task's first argument.

How to run funboost tasks in parallel and aggregate results?▼

Use chord with a group of task signatures plus a callback signature. All group tasks run concurrently, and once finished their results are collected into a list passed to the callback function.

What is the difference between .s() and .si() in funboost workflow?▼

Both create lazy task signatures for workflow composition. .s() passes the upstream task's result as the first argument, while .si() creates an immutable signature that ignores the upstream result.

Why is .s() not available on my funboost task function?▼

The .s() and .si() methods only exist after importing the funboost.workflow module, for example via from funboost.workflow import chain. Without that import, boosted functions lack signature methods.

Does funboost workflow require Redis even with other brokers?▼

Yes. Workflows depend on RPC mode to retrieve task results, and Redis is required to store RPC results even when tasks use a non-Redis broker. All workflow tasks should also share the same broker.

Why does my funboost workflow hang without executing tasks?▼

Every task function participating in the workflow must have consume() called to start its consumer before apply() is invoked. Missing consume() on any chain, group, or chord member prevents execution.