Redis Queue (BullMQ)
Construye colas de trabajo fiables y workers en segundo plano con BullMQ, impulsado por Redis para procesamiento distribuido.
Descripción General
La librería utiliza Redis Streams y scripts Lua para operaciones atómicas, proporcionando garantías sólidas sobre el orden de procesamiento y la finalización de trabajos. Los workers pueden procesar trabajos concurrentemente con límites de concurrencia configurables, y los trabajos fallidos se reintentan automáticamente con retroceso exponencial. El sistema de eventos proporciona visibilidad en tiempo real de los cambios de estado de la cola, el progreso de los trabajos y la salud de los workers.
BullMQ es el sucesor de Bull y proporciona mejoras significativas incluyendo soporte para flujos (pipelines de trabajo multi-paso), procesadores aislados para ejecución aislada de trabajos y eventos globales. La librería incluye una interfaz de dashboard (Bull Board) para monitorear colas, y se integra con OpenTelemetry para trazabilidad distribuida. Se usa ampliamente para envío de emails, procesamiento de imágenes, pipelines de datos y entrega de webhooks.
¿Para Quién Es?
- Procesar trabajos de envío de emails en segundo plano
- Construir pipelines de procesamiento de imágenes/video con pools de workers
- Programar tareas recurrentes como generación de informes
- Implementar entrega de webhooks con lógica de reintento
Instalación
npm install bullmq Configuración
import { Queue, Worker } from "bullmq"
const emailQueue = new Queue("emails", {
connection: { host: "localhost", port: 6379 },
})
// Add a job
await emailQueue.add("welcome-email", {
to: "user@example.com",
subject: "Welcome!",
})
// Process jobs
const worker = new Worker("emails", async (job) => {
await sendEmail(job.data)
}, { connection: { host: "localhost", port: 6379 }, concurrency: 5 }) Explora herramientas de IA
Las mejores herramientas de IA que complementan tus habilidades
Lee artículos sobre IA y diseño
Consejos y tendencias en el mundo del diseño y la IA
Servidores Relacionados
Sentry Error Tracking
Monitorea errores en producción y analiza sus causas vinculándolos automáticamente con el código responsable.
PostHog Product Analytics
Rastrea el comportamiento de usuarios y analiza embudos de conversión para tomar decisiones basadas en datos.
Database Query Builder
Genera consultas SQL optimizadas y convierte preguntas en lenguaje natural a consultas de base de datos.