funboost-broker-selection

Selects and configures message queue brokers for funboost distributed task functions.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires funboost.

What problem does it solve? Choosing among 50+ supported message brokers in funboost is confusing, and picking the wrong one can cause message loss, poor performance, or unnecessary infrastructure. This Skill guides you to the right broker_kind based on reliability, deployment, and throughput needs. ## Core Features & Use Cases - Decision Flowchart: Maps reliability and deployment requirements to concrete broker choices like MEMORY_QUEUE, SQLITE_QUEUE, REDIS_ACK_ABLE, and KAFKA_CONFLUENT. - Broker Reference Tables: Lists all broker enums grouped by family (Redis, RabbitMQ, Kafka, MQTT, databases, local files) with trade-off notes. - Connection Configuration: Shows how to set up funboost_config.py with BrokerConnConfig and use broker_exclusive_config without inventing invalid keys. - Use Case: Migrating a task queue from local SQLite to a production Redis setup by changing only the broker_kind parameter, with zero changes to task function code. ## Quick Start Ask the AI which funboost broker_kind to use for a production task queue that needs message persistence and ACK confirmation on an existing Redis server.

Frequently Asked Questions about funboost-broker-selection

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

FAQPage Schema
How do I choose a message broker for funboost tasks?▼

Choose based on reliability and deployment needs: use MEMORY_QUEUE for local concurrency without persistence, SQLITE_QUEUE for zero-config development, REDIS_ACK_ABLE for production with ACK confirmation, and KAFKA_CONFLUENT for high-throughput streaming. Only the broker_kind parameter changes; task code stays the same.

Redis vs RabbitMQ vs Kafka for funboost task queues?▼

REDIS_ACK_ABLE fits most production cases with fast ACK-confirmed delivery. RABBITMQ_AMQPSTORM suits complex routing with exchanges. KAFKA_CONFLUENT provides at-least-once consumption for massive throughput and survives repeated consumer restarts.

How do I configure funboost broker connection settings?▼

Create a funboost_config.py file in your project root defining a BrokerConnConfig class with host, port, and credentials for Redis, RabbitMQ, or Kafka. Funboost auto-generates a template on first run and loads it via importlib from sys.path.

Does funboost support running tasks without any message queue middleware?▼

Yes, MEMORY_QUEUE runs tasks in-process with zero serialization and no external middleware, while still supporting QPS control, concurrency, retries, and timeouts. It is ideal as a thread pool replacement but loses messages on restart.

Why do funboost messages get lost with certain brokers?▼

Brokers like REDIS (simple list), MQTT, NATS_CORE, and MEMORY_QUEUE lack persistence or ACK confirmation, so messages can be lost on restart or crash. Use REDIS_ACK_ABLE or KAFKA_CONFLUENT when reliability is required.