Maple
Docs / More

FAQ

Will this put too much load on my database?

An idle worker runs one cheap query per poll interval. Under load each job costs a select, an update and a delete; PostgreSQL handles thousands of these a second on modest hardware.

Which PostgreSQL versions are supported?

PostgreSQL 13 and newer. SKIP LOCKED came in 9.5, but some of the indexes need 13.

Can I enqueue jobs from my application without Maple's CLI?

Yes. Insert a row into maple.jobs; the columns are documented in Queues and workers. Client libraries only make that more convenient.

Are jobs run exactly once?

At least once. A worker that dies mid-job leaves the job to be retried, so jobs should be safe to run twice.

Can I pause a queue?

Stop the workers of that queue. Jobs keep being accepted and wait until workers are back.

Which platforms are supported?

Linux, macOS and FreeBSD on amd64 and arm64. Linux on armv7 and riscv64 is built for every release too, but tested less.

Is Maple free to use at work?

Yes. It is released under the MIT License, which allows commercial use.

Does Maple collect telemetry?

No. It never contacts anything you did not configure, and it does not check for updates on its own.