Broccoli
A robust message queue system for Rust applications, designed as a Rust alternative to Celery. Broccoli provides asynchronous message processing with type safety, configurable retry strategies, and support for multiple message brokers.Quickstart
Get up and running with Broccoli in minutes
Installation
Add Broccoli to your Rust project
Brokers
Learn about supported message brokers
API Reference
Explore the complete API documentation
Features
Type-safe messaging
Leverage Rust’s type system for compile-time message validation
Multiple brokers
Support for Redis, RabbitMQ, and SurrealDB backends
Configurable retries
Built-in retry strategies for failed message handling
Connection pooling
Efficient resource management with connection pools
Message scheduling
Schedule messages for delayed or future delivery
Concurrent processing
Process messages with configurable worker concurrency
Quick example
Why Broccoli?
If you’re familiar with Celery but want to leverage Rust’s performance and type safety, Broccoli provides:- Rust performance - Native async/await with Tokio runtime
- Type safety - Compile-time message validation with serde
- Multiple brokers - Choose Redis, RabbitMQ, or SurrealDB based on your needs
- Simple API - Builder pattern for easy configuration
Current status
Broccoli is under active development. Current broker support:| Broker | Status |
|---|---|
| Redis | ✅ Available |
| RabbitMQ | ✅ Available |
| SurrealDB | ✅ Available |
| Kafka | 🚧 Planned |