
Warteschlangen mit Bull
Bull queues, processors, jobs, verzögerte jobs, Prioritäten, retries, Events
1Was ist Bull im Kontext von NestJS?
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.
2Welche Rolle hat ein processor in Bull?
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.
3Wie fügt man einen job zu einer Bull-queue in NestJS hinzu?
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.
Welche Funktion hat Redis in der Architektur von Bull?
Wie definiert man einen delayed job in Bull?
+17 Interview-Fragen
Weitere Node.js / NestJS-Interviewthemen
Node.js-Grundlagen
Node.js Core-APIs
Asynchrone Programmierung
Express.js-Grundlagen
NestJS-Grundlagen
REST-API-Design
Validierung & DTO
API-Dokumentation & Verträge
Fehlerbehandlung
Unit-Testing
Aufgabenplanung
NestJS-Module & DI
Konfiguration und Umgebungsverwaltung
JWT-Authentifizierung
Autorisierung und RBAC
Datenbank mit TypeORM
Prisma ORM
Middleware und Interceptors
Datei-Upload
WebSockets
GraphQL mit NestJS
End-to-End-Tests
Caching mit Redis
DevOps, Logging & CI/CD
Docker und Containerisierung
Microservices
Best Practices für Sicherheit
Performance und Cloud-Deployment
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