bee-queue

v2.0.0 MIT

A simple, fast, robust job/task queue, backed by Redis.

Weekly Downloads
25.8K
Stars
4.0K
Forks
221
Open Issues
46
Gzip Size
41.8 kB
Unpacked Size
106.9 kB
Dependencies
30
Last Updated
3mo ago

bee-queue Download Trends

Download trends for bee-queue039.0K78.0K116.9K155.9KFeb 2025MayAugNovFebApr 2026
bee-queue

About bee-queue

Bee-Queue is a robust job queue system designed for Node.js applications, leveraging Redis as its primary backing store. It addresses the common challenge of offloading time-consuming or asynchronous tasks from the main application thread, ensuring a responsive user experience and reliable background processing. This package allows developers to queue tasks, manage their execution, and monitor their status effectively.

The core philosophy of Bee-Queue centers around simplicity, speed, and reliability. It is built with developers in mind, offering a clean API that abstracts away much of the complexity associated with distributed task queues. The primary audience includes backend developers building scalable Node.js services that require reliable background job processing, such as sending emails, processing images, or interacting with external APIs.

Key API patterns in Bee-Queue revolve around the concepts of Queues and Jobs. Developers create a `Queue` instance, which then manages the lifecycle of individual `Job` objects. Jobs can be created, processed by workers, and their status (e.g., `deferred`, `active`, `succeeded`, `failed`) can be tracked. The package supports features like job retries, priority, and setting concurrency limits for workers, all manageable through its straightforward interface.

Bee-Queue integrates seamlessly into typical Node.js application architectures. It is particularly well-suited for microservices or monolithic applications running in containerized environments where Redis is already present or easily deployed. The package can be used with any Node.js web framework or standalone, making it a versatile choice for background task management without dictating application structure.

With a weekly download count of 29.0K and 4.0K GitHub stars, Bee-Queue demonstrates significant adoption and community interest. Its unpacked size of 106.9 kB and gzipped bundle size of 41.8 kB are reasonable for its feature set. The project was last updated on February 13, 2026, indicating ongoing maintenance. The library is considered mature and stable for production use.

While powerful, developers should be aware of Bee-Queue's dependency on Redis. Any issues with Redis connectivity or availability will directly impact the job queue's functionality. Additionally, managing complex inter-job dependencies or highly specialized scheduling might require custom logic on top of Bee-Queue's core capabilities, as it focuses on a general-purpose job queue model.

When to use

  • When needing to process background tasks like email dispatch or data synchronization reliably without blocking the main Node.js event loop.
  • When integrating with Redis for task persistence and distributed worker management across multiple application instances.
  • When implementing scheduled jobs or deferred tasks that need guaranteed execution and status tracking through the `Job` API.
  • When managing task retries and setting concurrency limits for background workers using `queue.process()` with specific options.
  • When building APIs that require offloading heavy computations or external API calls to a separate worker pool.
  • When monitoring job progress and handling job failures gracefully using event emitters like `queue.on('job failed', ...)`.

When NOT to use

  • If your application requires only in-memory task scheduling without external dependencies, consider using simpler, built-in JavaScript timers or a lighter in-memory queue library.
  • If you need a message broker with pub/sub capabilities or advanced routing features beyond a simple task queue, a dedicated message queue system might be more appropriate.
  • If Redis is not available in your infrastructure and setting it up adds significant overhead, explore task queue solutions that use alternative backings.
  • For very basic, single-process background jobs that do not require fault tolerance or complex state management, Node.js's native `child_process` module might suffice.
  • When your primary requirement is real-time communication or WebSockets, as Bee-Queue is optimized for background job processing, not live client-server interaction.

bee-queue Alternatives

bee-queue Categories