Skip to main content

Module queue

Module queue 

Source
Expand description

§Rullst Queue System (rullst::queue)

Provides a unified API for dispatching and processing background jobs.

§Drivers

  • SQLite (default): Uses an auto-created rullst_jobs table. Zero config.
  • Redis (optional): Requires the queue-redis feature flag.

§Quick Start

use rullst::queue::{Queue, Worker};

// Dispatch a job
let queue = Queue::sqlite("sqlite://rullst.db").await?;
queue.dispatch("send_email", serde_json::json!({"to": "user@example.com"})).await?;

// Process jobs in the background
let mut worker = Worker::new(queue);
worker.register("send_email", |payload| async move {
    println!("Sending email to: {}", payload["to"]);
    Ok(())
});
worker.run().await;

Structs§

Queue
The main queue facade for dispatching background jobs.
QueuedJob
A job that has been placed on the queue and is ready for processing.
QueuedJobDetail
Detailed job information, used for dashboard monitoring
SqliteDriver
Queue driver backed by a SQLite database.
Worker
Background worker that polls the queue and executes jobs.

Enums§

QueueError
Errors that can occur during queue operations.

Traits§

QueueDriver
Abstraction over queue storage backends.