Crate redeez

source ·
Expand description

Redeez

A simplified general-purpose queueing system for Rust apps.

Example

use redeez::{Job, Redeez};
use serde_json::json;
use anyhow::Result;

#[tokio::main]
async fn main() {
    let redis = redis::Client::open("redis://127:0.0.1:6379").unwrap();

    let mut queues = Redeez::new(redis)
        .queue("external_fn", external_fn)
        .queue("test", |job| -> Result<()> {
            println!("Received job: {:?}", job);

            // -- snip --

            Ok(())
        });

    // Start listening for new jobs.
    queues.listen();

    queues.dispatch("test", json!({ "foo": "bar" }));

    // -- snip --

   // Shutdown the queues.
    queues.shutdown();
}

Structs

  • A job to be processed by a queue.
  • A general-purpose queueing system for Rust apps.
  • Statistics about a queue.

Enums