Expand description
A lightweight local job queue backed by SQLite.
§Example
use qoxide::QoxideQueue;
let mut queue = QoxideQueue::builder()
.path(":memory:") // optional: persists to file
.max_attempts(3) // optional: moves to DLQ after 3 failed attempts
.build()?;
// Add and process a message
let id = queue.add(b"job payload".to_vec())?;
let (id, payload) = queue.reserve()?;
queue.complete(id)?;
// Or fail and retry
let id = queue.add(b"another job".to_vec())?;
let (id, _) = queue.reserve()?;
queue.fail(id)?;
// Inspect and manage dead letters
let dead_ids = queue.dead_letters()?;
queue.requeue_dead_letters(&dead_ids)?;Structs§
- Qoxide
Queue - A SQLite-backed message queue.
- Qoxide
Queue Builder - Builder for creating a
QoxideQueuewith custom configuration. - Queue
Size - A breakdown of message counts by state.
Enums§
- Message
State - The state of a message in the queue.