kue
Kue is a priority job queue backed by redis, built for node.js.
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.
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.
Where it fits
- Offload slow tasks like email sending or PDF generation from a Node.js web app into a Redis-backed background queue.
- Set up a priority job queue in Node.js where critical tasks jump ahead of low-priority ones automatically.
- Monitor queued, active, completed, and failed background jobs through a built-in browser dashboard without writing extra code.