explaingit

automattic/kue

9,448JavaScriptAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

Kue is an archived Node.js background job queue backed by Redis with priority levels, retries, delays, and a built-in browser dashboard, no longer maintained, with the authors recommending modern alternatives for new projects.

Mindmap

mindmap
  root((repo))
    What it does
      Background job queue
      Priority scheduling
      Redis backed
    Job features
      Priority levels
      Retry with delay
      Progress reporting
      Expiry timeout
    Monitoring
      Built-in web UI
      REST JSON API
      Job log messages
    Status
      Archived project
      No active maintenance
      Alternatives exist
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Offload slow tasks like email sending or PDF generation from a Node.js web app into a Redis-backed background queue.

USE CASE 2

Set up a priority job queue in Node.js where critical tasks jump ahead of low-priority ones automatically.

USE CASE 3

Monitor queued, active, completed, and failed background jobs through a built-in browser dashboard without writing extra code.

Tech stack

JavaScriptNode.jsRedis

Getting it running

Difficulty · moderate Time to first run · 30min

Requires a running Redis instance, Kue is no longer maintained and its authors recommend using alternative libraries for any new project.

MIT licensed: use freely for any purpose including commercial projects, as long as you keep the copyright notice.

In plain English

Kue is a job queue library for Node.js applications, built by Automattic (the company behind WordPress.com). A job queue is a system where your application can hand off tasks to be processed in the background, rather than making a user wait for them to finish. For example, you might push a "send welcome email" task into the queue and let a worker process handle it separately while your main application moves on. Kue stores jobs in Redis, an in-memory data store, which makes it fast. Each job in the queue can be assigned a priority level: low, normal, medium, high, or critical. Higher-priority jobs are processed before lower-priority ones. Jobs can also be scheduled to run after a delay, set to expire after a certain time if no worker picks them up, and configured to retry automatically on failure, with options for fixed delays between retries or exponentially increasing wait times. The library includes a built-in web interface that you can open in a browser to see all queued, active, completed, and failed jobs. Each job can write log messages visible in this UI, and longer-running jobs can report a progress percentage so you can watch them move toward completion. A REST JSON API is also available for interacting with the queue from outside the Node.js process. Workers can run in parallel and the queue supports Node.js clustering for spreading load across multiple CPU cores. Importantly, the README states clearly at the top that Kue is no longer maintained. The project has been archived and the maintainers point to other libraries as alternatives for new projects. This is worth knowing before building anything on top of it. Installation is via npm with a single command. The project is licensed under the MIT license. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Show me how to create a Kue queue in Node.js, push a background email task with 3 retries and exponential backoff, and confirm it processed.
Prompt 2
How do I expose Kue's built-in web dashboard in a Node.js app so I can see all queued and failed jobs in a browser?
Prompt 3
I have a Kue job that calls an external API and fails intermittently. Set up retry logic with a delay that doubles on each attempt.
Prompt 4
Kue is deprecated, what are the most recommended modern alternatives for Node.js background job queues and how do they compare?
Open on GitHub → Explain another repo

← automattic on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.