#queue #redis-queue #redis #task-queue #forked #tail #named

fourche

以有分叉尾巴的狮子(queue fourché)命名的简单任务队列,与 Redis 兼容

3 个不稳定版本

0.2.0 2021年5月22日
0.1.1 2019年9月5日
0.1.0 2019年9月5日

#1566 in 异步

Apache-2.0

7KB

Fourché

以有分叉尾巴的狮子(queue fourché)命名的简单任务队列,与 Redis 兼容。

示例

#[derive(Debug, Deserialize, Serialize)]
struct Job {id: u64 }
// enqueue
let client = redis::Client::open("redis://127.0.0.1:6379/0").unwrap();
let mut conn = client.get_connection().unwrap();

let job = Job { id: 1 }

let mut queue = Queue::new("name", &mut conn);
if let Err(err) = queue.enqueue::<Job>(job) {
    println!("err: {}", err);
}
// dequeue
let client = redis::Client::open("redis://127.0.0.1:6379/0").unwrap();
let mut conn = client.get_connection().unwrap();

let mut queue = Queue::new("name", &mut conn);
loop {
  match queue.dequeue::<Job>() {
    Ok(job) => println!("job: {}", job),
    Err(err) => {
        println!("err: {}", err);
        break;
    },
  }
}

依赖关系

~3–4.5MB
~114K SLoC