Node.js / NestJS

Filas com Bull

Bull queues, processors, jobs, jobs adiados, prioridades, retries, eventos

20 perguntas de entrevista·
Mid-Level
1

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.

2

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.

3

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.

4

Qual é a função do Redis na arquitetura do Bull?

5

Como criar um delayed job no Bull?

+17 perguntas de entrevista

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