A Rust implementation of the Celery protocol, fully compatable with Python workers and producers.
Features
- Send tasks from Python to Rust or vice versa :left_right_arrow:
- Use provided brokers and backends or implement your own :wrench:
- Natural async / await interface :sparkler:
- Easily customizable with callbacks :telephone:
- High performance and safe :fire: :fire: :fire:
Testimonials
"The crate we've all been waiting for! :clap: :clap: :raised_hands:" - You
Examples
The ./examples
directory contains a simple Celery app that is implemented in both Python and Rust using an AMQP broker. Before running the examples you'll need to set the environment variable AMQP_ADDR
to your broker URL.
Then send a task from Python to Rust by running
bash ./examples/python_to_rust.sh
Similary, send a task from Rust to Python by running
bash ./examples/rust_to_python.sh
Missing features
rusty-celery
is still in the early stages and therefore there are several features of the Celery protocol that are still missing. To see what's currently missing search for issues with the label "Protocol Feature".
Contributing
We welcome contributors! If you're interesting in contributing, a good place to start would be any issue marked with the label "Status: Help Wanted".