
Files d'attente avec Bull
Bull queues, processors, jobs, jobs différés, priorités, retries, événements
1Qu'est-ce que Bull dans le contexte de NestJS ?
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.
2Quel est le rôle d'un processor dans Bull ?
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.
3Comment ajouter un job à une queue Bull dans NestJS ?
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.
Quelle est la fonction de Redis dans l'architecture Bull ?
Comment créer un delayed job dans Bull ?
+17 questions d'entretien
Autres sujets d'entretien Node.js / NestJS
Fondamentaux Node.js
APIs Core Node.js
Programmation asynchrone
Bases Express.js
Fondamentaux NestJS
Conception d'API REST
Validation et DTO
Documentation d'API
Gestion des erreurs
Tests unitaires
Planification de tâches
Modules et DI NestJS
Configuration et environnements
Authentification JWT
Autorisation et RBAC
Base de données avec TypeORM
Prisma ORM
Middleware et Interceptors
Upload de fichiers
WebSockets
GraphQL avec NestJS
Tests end-to-end
Cache avec Redis
DevOps, Logging et CI/CD
Docker et Containerization
Microservices
Bonnes pratiques de sécurité
Performance et Déploiement Cloud
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