#background-jobs #redis #queue

bisonmq

A Lightweight and Simple Rust Library for Job Queue

8 releases

0.1.7 Mar 22, 2025
0.1.6 Mar 15, 2025
0.1.2 Feb 14, 2025

#1829 in Database interfaces

Download history 349/week @ 2025-02-12 12/week @ 2025-02-19 248/week @ 2025-02-26 29/week @ 2025-03-05 243/week @ 2025-03-12 137/week @ 2025-03-19 11/week @ 2025-03-26

448 downloads per month

Apache-2.0

12KB
166 lines

BisonMQ

A Lightweight and Simple Rust Library for Job Queue

The gist

installation

cargo add bisonmq

Push a job to the queue

let job_queue: JobQueue = JobQueue::new("redis://127.0.0.1/", queue_key)?;
// return the length of the queue
let len: i64 = job_queue.push_job(&queue_value).await?;

Pop a job from the queue

let job_queue: JobQueue = JobQueue::new("redis://127.0.0.1/", queue_key)?;

// 0.0 means waiting forever
let result: (String, String) = job_queue.pop_job(0.0).await?;

Use the listener

let listen_handler = job_queue.listen(0.0, move |(queue_key, value)| async move {
  println!("[Listener] Queue: {}, Job: {}", queue_key, value);
});

Dependencies

~8–17MB
~219K SLoC