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_jobstable. Zero config. - Redis (optional): Requires the
queue-redisfeature 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.
- Queued
Job - A job that has been placed on the queue and is ready for processing.
- Queued
JobDetail - Detailed job information, used for dashboard monitoring
- Sqlite
Driver - Queue driver backed by a SQLite database.
- Worker
- Background worker that polls the queue and executes jobs.
Enums§
- Queue
Error - Errors that can occur during queue operations.
Traits§
- Queue
Driver - Abstraction over queue storage backends.