Node.js / NestJS

Code con Bull

Bull queues, processors, jobs, jobs differiti, priorità, retries, eventi

20 domande da colloquio·
Mid-Level
1

Cos'è Bull nel contesto di NestJS?

Risposta

Bull è una libreria Node.js per gestire code (queues) persistenti basate su Redis. Permette di eseguire attività in background in modo asincrono, gestendo priorità, retries e jobs differiti. NestJS fornisce un modulo @nestjs/bull che integra Bull in modo nativo nell'architettura modulare del framework, facilitando la creazione di workers e la gestione di jobs pesanti o di lunga durata.

2

Qual è il ruolo di un processor in Bull?

Risposta

Un processor è una funzione che elabora i jobs di una queue. Quando un job viene aggiunto alla queue, Bull chiama automaticamente il processor corrispondente per eseguire la logica di business. Il processor riceve il job come parametro e può accedere ai dati tramite job.data. Può essere sincrono o asincrono e deve restituire un valore o una Promise per segnalare il completamento del job.

3

Come aggiungere un job a una queue Bull in NestJS?

Risposta

Per aggiungere un job, occorre iniettare la queue tramite @InjectQueue('queueName') e poi usare il metodo add(). Questo metodo accetta parametri opzionali: un nome per il job, i dati da elaborare (payload) e opzioni come delay, priority, attempts. Il metodo restituisce una Promise contenente il job creato con il suo ID univoco, permettendone il tracciamento o la manipolazione successiva.

4

Qual è la funzione di Redis nell'architettura di Bull?

5

Come definire un delayed job in Bull?

+17 domande da colloquio

Padroneggia Node.js / NestJS per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis