A robust background job queue in a single native binary.

High-performance background job processing and task scheduling powered by a persistent LSM-tree database. No Redis. Works in any stack.

Observability

Watch your queues in real time.

Stay in control with a built-in terminal UI providing live queue depth and worker activity at a glance.

zizq top

Control

Find and update jobs using expressive filters.

Being enqueued doesn't mean it should be locked in. In the real world things happen that require identifying and operating on enqueued jobs.

Zizq let’s you quickly find jobs by matching attributes and powerful jq–style expressions. Atomically move matching jobs between queues, re-prioritise, re-schedule or delete using the same filters.

PATCH /jobs
      ?type=send_email
      &filter=.to|endswith(".au")
{
    "priority": 10
}

Official client libraries provide fluent and composable interfaces to manage enqueued jobs.

Universal Integration

Works across your entire stack via a simple HTTP/2 API.

Need to enqueue in Node and process in Rust? Zizq does that.

Zizq is a language agnostic job queue that can be used in any environment with an HTTP client. The Zizq server does most of the work.

Official client libraries for Ruby, Node.js and Rust integrate with the Zizq server and handle connection management and concurrent job dispatch, so your application stays focused on the important stuff.

In a polyglot architecture jobs can be enqueued in any language and processed by a worker in any other language.

Persistent by default

Jobs survive crashes, disconnects, and restarts. Built on a transactional LSM-tree database.

Prioritised queues

Granular priorities blended with simple FIFO. Mix strategies across queues.

Backoff and retry

Configurable exponential backoff, global or per-job retry limits, and a dead-letter queue.

HTTP/2 multiplexing

High-throughput enqueue and streaming job acquisition over a single connection.

Unique jobs

Prevent duplicates at enqueue time. Uniqueness scoped by lifecycle, not arbitrary TTLs.

Recurring schedules

Time zone aware cron-style schedules with second-level granularity for periodic work.