oxidite-queue
Background job queue with cron scheduling, DLQ, and retry logic.
Installation
[]
= "0.1"
Usage
Define a Job
use *;
use async_trait;
use ;
Enqueue Jobs
// Create queue
let queue = memory;
// Enqueue job
let job = new?;
queue.enqueue.await?;
Cron Jobs
// Recurring job (runs daily at 9 AM)
let job = new?
.with_cron;
queue.enqueue.await?;
Worker
// Start worker
let worker = new
.worker_count;
worker.start.await;
Dead Letter Queue
// List failed jobs
let failed = queue.list_dead_letter.await?;
// Retry from DLQ
queue.retry_from_dead_letter.await?;
Statistics
let stats = queue.get_stats.await;
println!;
println!;
Features
- Memory and Redis backends
- Cron job scheduling
- Retry logic with exponential backoff
- Dead letter queue
- Job statistics tracking
- Worker pool management
- Job priorities
- Delayed jobs
License
MIT