BullMQ
DevOps 🟡 MidDefinition
Librairie Node.js de gestion de queues basée sur Redis. Supporte les jobs delayed, repeatable, la priorisation et les workers concurrents.
Analogie
Une file d'attente intelligente avec des tickets numérotés, des VIP, et des tâches programmées.
Exemple de code
const queue = new Queue('emails');
await queue.add('welcome', { userId: '123' });
const worker = new Worker('emails', async (job) => {
await sendEmail(job.data.userId);
});
Cas d'usage
Traitement asynchrone : envoi d'emails, génération de PDF, processing d'images.
Anti-pattern
Traiter les tâches lourdes de manière synchrone dans le request handler.