A background job queue in a single native binary.Fast. Atomic. Persistent. No dependencies. Works in any stack.

See what your queues are doing

Visibility is important. Visualising the workload on your queues shouldn’t be difficult. Zizq includes zizq top right out of the box, a built-in terminal interface that shows live job throughput, queue depth and worker activity at a glance. Scroll through the job list and and the depth indicator let’s you easily see how many jobs are queued ahead or behind.

Terminal showing zizq top (Terminal UI)

Up and running in no time

Download the binary, start the server and enqueue and process jobs. No external services to provision, no added strain on your database. Persistent job storage is built-in using an LSM database— No need for arbitrary TTLs.

The HTTP API does most of the work. Applications can implement robust workers with a typical HTTP client and just three endpoints. Official clients provide complete integration.

Terminal showing zizq serve starting up

Slots into any tech stack

Zizq speaks HTTP under the hood, with support for JSON and MessagePack. Any application can easily integrate with the API for access to Zizq’s features. Applications built in one language can enqueue jobs that are processed by applications built in a different language.

Official client libraries for Ruby, Node.js and Rust handle connection management and job dispatch so your application code stays minimal.

Terminal showing text editor with code using zizq

Persistent by default

Built on a transactional LSM-tree database. Enqueued jobs survive crashes, worker disconnects and restarts.

Prioritised queues

Queue jobs with granular priorities or simple FIFO ordering. Combine both strategies across different queues in the same server.

Backoff and retry

Configurable exponential backoff, global or per-job retry limits, and a dead letter queue for jobs that exceed the retry limit.

HTTP/2 multiplexing

High-throughput enqueue and streaming job acquisition over a single connection. Capable of over 100K jobs/second.

Unique jobs

Prevent duplicate jobs at enqueue time with configurable uniqueness scopes. Uniqueness is scoped by lifecycle, not arbitrary TTLs.

Recurring jobs

Set up recurring schedules (cron) for jobs that need to run periodically, with support for second granularity.

Ready to try it?

Zizq is free and source-available. Download the binary, start the server, and enqueue your first job in under five minutes.