Crate oppgave

Source
Expand description

oppgave - A simple Redis-based task queue

§Example: Producer

#[derive(RustcDecodable, RustcEncodable)]
struct Job { id: u64 }

let client = redis::Client::open("redis://127.0.0.1/").unwrap();
let con = client.get_connection().unwrap();
let producer = Queue::new("default".into(), con);

producer.push(Job{ id: 42 });

§Example: Worker

#[derive(RustcDecodable, RustcEncodable)]
struct Job { id: u64 }

let client = redis::Client::open("redis://127.0.0.1/").unwrap();
let con = client.get_connection().unwrap();
let worker = Queue::new("default".into(), con);

while let Some(task) = worker.next() {
    println!("Working with Job {}", job.id);
}

Structs§

Queue
A Queue allows to push new tasks or wait for them
TaskGuard
A wrapper of the fetched task

Traits§

TaskDecodable
Task objects that can be reconstructed from the JSON stored in Redis
TaskEncodable
Task objects that can be encoded to JSON to be stored in Redis