
Filas com Bull
Bull queues, processors, jobs, jobs adiados, prioridades, retries, eventos
1O que é Bull no contexto do NestJS?
O que é Bull no contexto do NestJS?
Resposta
Bull é uma biblioteca Node.js para gerenciar filas (queues) persistentes baseadas em Redis. Ela permite executar tarefas em segundo plano de forma assíncrona, gerenciar prioridades, retries e jobs adiados. O NestJS fornece um módulo @nestjs/bull que integra o Bull de forma nativa na arquitetura modular do framework, facilitando a criação de workers e o gerenciamento de jobs pesados ou de longa duração.
2Qual é o papel de um processor no Bull?
Qual é o papel de um processor no Bull?
Resposta
Um processor é uma função que processa os jobs de uma queue. Quando um job é adicionado à queue, o Bull chama automaticamente o processor correspondente para executar a lógica de negócio. O processor recebe o job como parâmetro e pode acessar os dados via job.data. Ele pode ser síncrono ou assíncrono e deve retornar um valor ou uma Promise para sinalizar a conclusão do job.
3Como adicionar um job a uma queue Bull no NestJS?
Como adicionar um job a uma queue Bull no NestJS?
Resposta
Para adicionar um job, é preciso injetar a queue via @InjectQueue('queueName') e depois usar o método add(). Esse método recebe parâmetros opcionais: um nome para o job, os dados a processar (payload) e opções como delay, priority, attempts. O método retorna uma Promise contendo o job criado com seu ID único, permitindo rastreá-lo ou manipulá-lo posteriormente.
Qual é a função do Redis na arquitetura do Bull?
Como criar um delayed job no Bull?
+17 perguntas de entrevista
Outros temas de entrevista Node.js / NestJS
Fundamentos do Node.js
APIs Core do Node.js
Programação assíncrona
Fundamentos do Express.js
Fundamentos do NestJS
Design de API REST
Validação e DTO
Documentação de API e contratos
Tratamento de erros
Testes unitários
Agendamento de tarefas
Módulos e DI do NestJS
Configuração e gerenciamento de ambientes
Autenticação JWT
Autorização e RBAC
Banco de dados com TypeORM
Prisma ORM
Middleware e Interceptors
Upload de arquivos
WebSockets
GraphQL com NestJS
Testes end-to-end
Cache com Redis
DevOps, Logging e CI/CD
Docker e Conteinerização
Microservices
Melhores práticas de segurança
Desempenho e implantação na nuvem
Domine Node.js / NestJS para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis