Node.js / NestJS

Warteschlangen mit Bull

Bull queues, processors, jobs, verzögerte jobs, Prioritäten, retries, Events

20 Interview-Fragen·
Mid-Level
1

Was ist Bull im Kontext von NestJS?

Antwort

Bull ist eine Node.js-Bibliothek zur Verwaltung persistenter, auf Redis basierender Warteschlangen (queues). Sie ermöglicht das asynchrone Ausführen von Hintergrundaufgaben sowie die Handhabung von Prioritäten, retries und verzögerten jobs. NestJS stellt ein @nestjs/bull-Modul bereit, das Bull nativ in die modulare Architektur des Frameworks integriert und so das Erstellen von workers und die Verwaltung schwerer oder langlaufender jobs erleichtert.

2

Welche Rolle hat ein processor in Bull?

Antwort

Ein processor ist eine Funktion, die jobs aus einer queue verarbeitet. Wenn ein job zur queue hinzugefügt wird, ruft Bull automatisch den entsprechenden processor auf, um die Geschäftslogik auszuführen. Der processor erhält den job als Parameter und kann über job.data auf die Daten zugreifen. Er kann synchron oder asynchron sein und muss einen Wert oder eine Promise zurückgeben, um den Abschluss des jobs zu signalisieren.

3

Wie fügt man einen job zu einer Bull-queue in NestJS hinzu?

Antwort

Um einen job hinzuzufügen, injiziert man die queue über @InjectQueue('queueName') und verwendet dann die Methode add(). Diese Methode nimmt optionale Parameter entgegen: einen Namen für den job, die zu verarbeitenden Daten (payload) und Optionen wie delay, priority, attempts. Die Methode gibt eine Promise zurück, die den erstellten job mit seiner eindeutigen ID enthält und so späteres Tracking oder Bearbeiten ermöglicht.

4

Welche Funktion hat Redis in der Architektur von Bull?

5

Wie definiert man einen delayed job in Bull?

+17 Interview-Fragen

Meistere Node.js / NestJS für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten