Node.js / NestJS

Files d'attente avec Bull

Bull queues, processors, jobs, jobs différés, priorités, retries, événements

20 questions d'entretien·
Confirmé
1

Qu'est-ce que Bull dans le contexte de NestJS ?

Réponse

Bull est une bibliothèque Node.js pour gérer des files d'attente (queues) persistantes basées sur Redis. Elle permet d'exécuter des tâches en arrière-plan de manière asynchrone, de gérer les priorités, les retries, et les jobs différés. NestJS fournit un module @nestjs/bull qui intègre Bull de manière native dans l'architecture modulaire du framework, facilitant la création de workers et la gestion de jobs lourds ou longs.

2

Quel est le rôle d'un processor dans Bull ?

Réponse

Un processor est une fonction qui traite les jobs d'une queue. Lorsqu'un job est ajouté à la queue, Bull appelle automatiquement le processor correspondant pour exécuter la logique métier. Le processor reçoit le job en paramètre et peut accéder aux données via job.data. Il peut être synchrone ou asynchrone et doit retourner une valeur ou une Promise pour signaler la complétion du job.

3

Comment ajouter un job à une queue Bull dans NestJS ?

Réponse

Pour ajouter un job, il faut injecter la queue via @InjectQueue('queueName') puis utiliser la méthode add(). Cette méthode prend en paramètres un nom optionnel pour le job, les données à traiter (payload), et des options comme delay, priority, attempts. La méthode retourne une Promise contenant le job créé avec son ID unique, permettant de le tracker ou de le manipuler ultérieurement.

4

Quelle est la fonction de Redis dans l'architecture Bull ?

5

Comment créer un delayed job dans Bull ?

+17 questions d'entretien

Maîtrise Node.js / NestJS pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement