Node.js / NestJS

Kolejki z Bull

Bull queues, processors, jobs, opóźnione jobs, priorytety, retries, zdarzenia

20 pytań z rozmów·
Mid-Level
1

Czym jest Bull w kontekście NestJS?

Odpowiedź

Bull to biblioteka Node.js do zarządzania trwałymi kolejkami (queues) opartymi na Redis. Umożliwia asynchroniczne wykonywanie zadań w tle, obsługę priorytetów, retries oraz opóźnionych jobs. NestJS dostarcza moduł @nestjs/bull, który natywnie integruje Bull z modularną architekturą frameworka, ułatwiając tworzenie workers oraz zarządzanie ciężkimi lub długotrwałymi jobs.

2

Jaka jest rola processora w Bull?

Odpowiedź

Processor to funkcja, która przetwarza jobs z queue. Gdy job zostaje dodany do queue, Bull automatycznie wywołuje odpowiedni processor, aby wykonać logikę biznesową. Processor otrzymuje job jako parametr i może uzyskać dostęp do danych poprzez job.data. Może być synchroniczny lub asynchroniczny i musi zwrócić wartość lub Promise, aby zasygnalizować zakończenie job.

3

Jak dodać job do kolejki Bull w NestJS?

Odpowiedź

Aby dodać job, należy wstrzyknąć queue za pomocą @InjectQueue('queueName'), a następnie użyć metody add(). Metoda ta przyjmuje opcjonalne parametry: nazwę job, dane do przetworzenia (payload) oraz opcje takie jak delay, priority, attempts. Metoda zwraca Promise zawierający utworzony job z jego unikalnym ID, co umożliwia późniejsze śledzenie lub manipulowanie nim.

4

Jaka jest funkcja Redis w architekturze Bull?

5

Jak zdefiniować delayed job w Bull?

+17 pytań z rozmów

Opanuj Node.js / NestJS na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo