Rust Distributed job queue with RabbitMQ
โ Rust ๐ 2025-10-30 ๐ค surdeus ๐๏ธ 7Hi everyone!
I would like to ask for a code review of my project Distributed job queue with RabbitMQ, here is the link GitHub - Manyuta/rustq at dev. It is in the dev branch so far.
This is the final project of my rustcamp journey organized by the Ukrainian Rust Community.
The project is a distributed job queue built with:
- RabbitMQ for queue management
- Redis for job storage and metadata
- Tokio for concurrency (I used Semaphore to control it)
- 100% Rust, using
lapinanddeadpool-redis
It supports:
- Job retries with exponential backoff
- Persistent job tracking
- Concurrent async/sync workers
It works like this:
- Producer adds jobs to the queue, managed by RabbitMQ
- RabbitMQ delivers messages to the workers
- Workers proceed to handle the jobs.
The number of workers is configurable, as well as the worker's concurrency. The job data and status are stored in redis for persistency. If a job fails to process, it is automatically put on the retry-queue (dead-letter-exchange). The number of job retries is configurable, as well as the backoff strategy.
I would highly appreciate if you could review my repo, you can leave the comments here: dev by Manyuta ยท Pull Request #1 ยท Manyuta/rustq ยท GitHub. Also one of the requirements of the rustcamp is to get one approval from the Rust programming language users forum, so if anyone can put the approval on my pull request, this would be very appreciated
!
Thanks
1 post - 1 participant
๐ท๏ธ Rust_feed