Skip to main content

Crate qoxide

Crate qoxide 

Source
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§

QoxideQueue
A SQLite-backed message queue.
QoxideQueueBuilder
Builder for creating a QoxideQueue with custom configuration.
QueueSize
A breakdown of message counts by state.

Enums§

MessageState
The state of a message in the queue.