disqrust 0.1.0

A high-level library to implement Disque workers
Documentation
  • Coverage
  • 95%
    19 out of 20 items documented1 out of 17 items with examples
  • Size
  • Source code size: 30.58 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.89 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 18s Average build duration of successful builds.
  • all releases: 18s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Documentation
  • seppo0010/disqrust
    2 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • seppo0010

disqrust

Build Status crates.io

A high-level library to implement Disque workers.

The crate is called disqrust and you can depend on it via cargo:

[dependencies]
disqrust = "0.1.0"

It currently requires Rust Beta or Nightly.

Basic Operation

extern crate disque;
extern crate disqrust;

use disque::Disque;
use disqrust::{EventLoop, Handler, JobStatus};

#[derive(Clone)]
struct MyHandler(u8);

impl Handler for MyHandler {
    fn process_job(&self, queue_name: &[u8], jobid: &String, body: Vec<u8>) -> JobStatus {
        match queue_name {
            b"send email" => { /* send email */; JobStatus::AckJob },
            _ => JobStatus::NAck,
        }
    }
}

fn main() {
    let disque = Disque::open("redis://127.0.0.1:7711/").unwrap();
    let mut el = EventLoop::new(disque, 4, MyHandler(0));
    el.watch_queue(b"my queue".to_vec());
    el.run(1000);
}

Documentation

For a more comprehensive documentation with all the available functions and parameters go to http://seppo0010.github.io/disqrust/

For a complete reference on Disque, check out https://github.com/antirez/disque