funboost-multi-consumer-startup

Starts multiple funboost consumers sequentially in one Python script using non-blocking consume calls.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires funboost, and includes scripts (resource) components.

What problem does it solve? When running several @boost task functions in a single funboost script, users often mistakenly wrap consume() in threads or subprocesses. This Skill clarifies that consume() is natively non-blocking and shows the correct pattern for launching multiple queue consumers sequentially in one process. ## Core Features & Use Cases - Sequential multi-consumer startup: Call func1.consume() and func2.consume() directly in order, with each consumer keeping its own concurrency pool, QPS limit, and retry configuration. - Anti-pattern prevention: Explicitly forbids wrapping consume() in threading.Thread, subprocess, or multiprocessing.Process. - Main-thread keep-alive: Uses enable_ctrl_c_quit_on_windows() so the script stays alive and can be stopped with Ctrl+C. - Use Case: You have two queues (queue_a and queue_b) backed by SQLite and want both consumed in one script; push messages, call consume() on each function in sequence, and both consumers run independently. ## Quick Start Ask the AI to write a funboost script that starts consumers for two @boost task functions in sequence without using threads, including main-thread keep-alive.

Frequently Asked Questions about funboost-multi-consumer-startup

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

FAQPage Schema
How do I start multiple funboost consumers in one script?▼

Call consume() on each boosted function in sequence, such as task_a.consume() followed by task_b.consume(). The consume() method is non-blocking, so each consumer starts in the background and runs independently with its own concurrency and QPS settings.

Is funboost consume() blocking or non-blocking?▼

funboost consume() is non-blocking; it returns immediately after starting the consumer in the background. This means you can call it multiple times in a row to run several consumers without any threading or process wrappers.

Should I use threading.Thread to run funboost consumers in parallel?▼

No, wrapping consume() in threading.Thread is unnecessary and discouraged. Since consume() never blocks the main thread, direct sequential calls achieve the same result with less complexity.

Why does my funboost script exit immediately after starting consumers?▼

The script exits because the main thread has nothing keeping it alive after the non-blocking consume() calls. Add enable_ctrl_c_quit_on_windows() at the end of the script so the main thread stays alive and can be stopped with Ctrl+C.

Can multiple funboost consumers have different QPS and concurrency settings?▼

Yes, each consumer keeps its own independent configuration. Settings like concurrent_num and qps defined in each function's BoosterParams apply only to that consumer and do not affect others running in the same process.