Elaborazione asincrona delle attività in Node.js con Bull

Blog

Le code risolvono in modo elegante i problemi di scalabilità e prestazioni delle applicazioni comuni. Bull è una libreria Node che implementa un robusto sistema di code basato su Redis.



Quando si gestiscono le richieste dai client API, è possibile che si verifichi una situazione in cui una richiesta avvia un'operazione a uso intensivo della CPU che potrebbe potenzialmente bloccare altre richieste. Invece di elaborare immediatamente tali attività e bloccare altre richieste, è possibile rimandarne l'elaborazione in futuro aggiungendo informazioni sull'attività in un processore chiamato coda. Un consumatore di attività prenderà quindi l'attività dalla coda e la elaborerà.

Le code sono utili per risolvere in modo elegante i problemi di scalabilità e prestazioni delle applicazioni comuni. Secondo il Documentazione NestJS , esempi di problemi che le code possono aiutare a risolvere includono:



come accedere all'app cash
  • Appianamento dei picchi di elaborazione
  • Interruzione di attività monolitiche che potrebbero altrimenti bloccare il ciclo di eventi Node.js
  • Fornire un canale di comunicazione affidabile attraverso vari servizi

Toro è una libreria Node che implementa un sistema di code veloce e robusto basato su Redis . Sebbene sia possibile implementare le code direttamente utilizzando i comandi Redis, Bull è un'astrazione/wrapper in cima a Redis. Fornisce un'API che si prende cura di tutti i dettagli di basso livello e arricchisce le funzionalità di base di Redis in modo che i casi d'uso più complessi possano essere gestiti facilmente.

Installazione

Prima di iniziare a utilizzare Bull, è necessario che Redis sia installato. Segui la guida su Laboratori Redis guida per installare Redis, quindi installare Bull utilizzando npm o filato.



npm install bull --save

O:

yarn add bull

Creare una coda

Crea una coda istanziando una nuova istanza di Bull.

metodi array in javascript

Sintassi

Queue(queueName: string, url?: string, opts?: QueueOptions): Queue

L'opzione |_+_| Il parametro viene utilizzato per specificare la stringa di connessione Redis. Se no |_+_| è specificato, bull proverà a connettersi al server Redis predefinito in esecuzione su |_+_|

|_+_| interfaccia

url

url

|_+_| è un campo facoltativo in |_+_| utilizzato per configurare il numero massimo e la durata dei lavori che possono essere elaborati contemporaneamente. Vedere RateLimiter per maggiori informazioni.

localhost:6379

|_+_| è anche un campo facoltativo in |_+_|. È un'alternativa a Redis |_+_| corda. Vedi |_+_| per maggiori informazioni.

QueueOptions

|_+_| è un'impostazione di configurazione avanzata della coda. È facoltativo e Bull avverte che non dovrebbe sovrascrivere le impostazioni avanzate predefinite a meno che tu non abbia una buona comprensione degli interni della coda. Vedere Impostazioni avanzate per maggiori informazioni.

l'e-mail comcast non si carica

Una coda di base sarebbe simile a questa:

interface QueueOptions { limiter?: RateLimiter; redis?: RedisOpts; prefix?: string = 'bull'; // prefix for all queue keys. defaultJobOptions?: JobOpts; settings?: AdvancedSettings; }

Creazione di una coda con |_+_|

RateLimiter

Ogni istanza di coda può svolgere tre ruoli diversi: produttore di lavori, consumatore di lavori e/o ascoltatore di eventi. Ogni coda può avere uno o più produttori, consumatori e ascoltatori.

#node #bull #javascript #redis #developer

come comprare una moneta in yuan

blog.logrocket.com

Elaborazione asincrona delle attività in Node.js con Bull

Elaborazione asincrona delle attività in Node.js con Bull. Bull è una libreria Node che implementa un robusto sistema di code basato su Redis. Le code sono utili per risolvere in modo elegante i problemi di scalabilità e prestazioni delle applicazioni comuni.