Effectum
A Rust job queue library, based on SQLite so it doesn't depend on any other services.
Currently this is just a library embeddable into Rust applications, but future goals include bindings into other languages and the ability to run as a standalone server, accessible by HTTP and gRPC. This will be designed so that a product can start with the embedded version to use minimal infrastructure, and then move to the server version with minimal changes when the time comes to scale out.
use ;
async
async
Roadmap
Released
- Multiple job types
- Jobs can be added with higher priority to "skip the line"
- Workers can run multiple jobs concurrently
- Schedule jobs in the future
- Automatically retry failed jobs, with exponential backoff
- Checkpoints to allow smart resumption of a job if it fails midway through.
- Immediately schedule a retry for jobs that were running when the process restarts unexpectedly
- Cancel or modify pending jobs
- Support for recurring jobs
Soon
- Optional sweeper to prevent "done" job data from building up indefinitely
Later
- Node.js bindings
- Run as a standalone server over gRPC
- Helpers for communicating with the queue via the outbox pattern.