Docs / Basics
What is Maple?
Maple is a reliable job queue built on PostgreSQL: enqueue work in the same transaction as your data and let workers pick it up.
It is written in Rust and ships as a single binary for Linux, macOS and FreeBSD, on amd64 and arm64. There is nothing else to install: no runtime, no database, no agent.
Features
- Transactional enqueue. Jobs are rows. Insert one in the same transaction as your data and it exists exactly when the data does.
- Retries with backoff. Failed jobs are retried with exponential backoff and jitter, up to a limit you set per queue.
- Schedules. Run jobs on cron schedules. Only one worker enqueues each run, however many you start.
- Any language. Workers call your code over a small HTTP or stdin protocol, so jobs can be written in anything.
- Fast pickup. Workers use
LISTEN/NOTIFYto pick up new jobs within milliseconds, andSKIP LOCKEDto never collide. - Metrics. Queue depth, latency and failures as Prometheus metrics, ready for your dashboards.
Next steps
- Install Maple on your machine or server.
- Follow the quick start for a first run.
- Look up every option in the configuration reference.
- Stuck? The FAQ answers the common ones.