
Colas con Bull
Bull queues, processors, jobs, jobs diferidos, prioridades, retries, eventos
1¿Qué es Bull en el contexto de NestJS?
¿Qué es Bull en el contexto de NestJS?
Respuesta
Bull es una biblioteca de Node.js para gestionar colas (queues) persistentes basadas en Redis. Permite ejecutar tareas en segundo plano de forma asíncrona, gestionar prioridades, retries y jobs diferidos. NestJS proporciona un módulo @nestjs/bull que integra Bull de forma nativa en la arquitectura modular del framework, facilitando la creación de workers y la gestión de jobs pesados o de larga duración.
2¿Cuál es el rol de un processor en Bull?
¿Cuál es el rol de un processor en Bull?
Respuesta
Un processor es una función que procesa los jobs de una queue. Cuando se añade un job a la queue, Bull llama automáticamente al processor correspondiente para ejecutar la lógica de negocio. El processor recibe el job como parámetro y puede acceder a los datos mediante job.data. Puede ser síncrono o asíncrono y debe retornar un valor o una Promise para señalar la finalización del job.
3¿Cómo añadir un job a una queue Bull en NestJS?
¿Cómo añadir un job a una queue Bull en NestJS?
Respuesta
Para añadir un job, hay que inyectar la queue mediante @InjectQueue('queueName') y luego usar el método add(). Este método recibe parámetros opcionales: un nombre para el job, los datos a procesar (payload) y opciones como delay, priority, attempts. El método retorna una Promise que contiene el job creado con su ID único, permitiendo rastrearlo o manipularlo posteriormente.
¿Cuál es la función de Redis en la arquitectura de Bull?
¿Cómo crear un delayed job en Bull?
+17 preguntas de entrevista
Otros temas de entrevista Node.js / NestJS
Fundamentos de Node.js
APIs Core de Node.js
Programación asíncrona
Fundamentos de Express.js
Fundamentos de NestJS
Diseño de API REST
Validación y DTO
Documentación de API y contratos
Manejo de errores
Pruebas unitarias
Planificación de tareas
Módulos y DI de NestJS
Configuración y gestión de entornos
Autenticación JWT
Autorización y RBAC
Base de datos con TypeORM
Prisma ORM
Middleware e Interceptors
Subida de archivos
WebSockets
GraphQL con NestJS
Pruebas end-to-end
Caché con Redis
DevOps, Logging y CI/CD
Docker y Containerización
Microservices
Mejores prácticas de seguridad
Rendimiento y despliegue en la nube
Domina Node.js / NestJS para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis