Sobre el proyecto

BullMQ es una biblioteca de alto rendimiento de cola de mensajes distribuida y procesamiento por lotes basada en Redis, diseñada para Node.js, Python, .NET, Elixir, Rust y PHP. Está construida para una estabilidad y atomicidad sólidas, lo que la hace adecuada para entornos de producción que requieren procesamiento de trabajos en segundo plano confiable. La biblioteca proporciona implementaciones nativas en múltiples lenguajes, cada una disponible como un paquete separado: `npm install bullmq` para Node.js/Bun, `pip install bullmq` para Python, `cargo add bullmq-official` para Rust, `{:bullmq, "~> x.x"}` para Elixir, `dotnet add package BullMQ` para .NET y un paquete PHP dedicado. Para otras plataformas, hay un BullMQ Proxy disponible. Las características principales incluyen dependencias de trabajos padre-hijo a través de FlowProducer, lo que permite construir árboles de trabajos complejos con trabajos raíz, hijo y nieto en diferentes colas. La deduplicación admite patrones de rebote y limitación. Los trabajos pueden priorizarse, retrasarse, repetirse en horarios y procesarse con concurrencia configurable. La limitación de velocidad está disponible a nivel de cola, y las colas pueden pausarse y reanudarse. Las operaciones atómicas aseguran la consistencia de datos, y todos los trabajos se persisten en Redis. BullMQ también admite eventos globales para monitorear el ciclo de vida de los trabajos, como completados y fallidos. Hay una opción de trabajador en espacio aislado disponible para la ejecución aislada de trabajos. El proyecto incluye una tabla comparativa de características frente a otras soluciones de cola de trabajos como Bull, Kue, Bee y Agenda, destacando el conjunto de características más amplio de BullMQ. Una interfaz oficial está disponible a través de Taskforce.sh, que proporciona un panel profesional para inspeccionar colas, buscar y reintentar trabajos, promover trabajos retrasados y ver métricas y estadísticas. El proyecto es de código abierto con contribuciones activas de la comunidad, y los patrocinadores incluyen DragonflyDB, un reemplazo directo compatible con Redis optimizado para cargas de trabajo de BullMQ. Organizaciones notables que usan BullMQ incluyen Microsoft (a través de Lage), Vendure, Datawrapper, NestJS, Langfuse, Curri, Novu, NocoDB e Infisical. El proyecto sigue semantic-release para versionado y publicación automatizados.