Skip to content
Home Tutorials Roadmaps Courses
Log in Join free
Tutorials Node.js Message Queues
Node.js Intermediate FREE

Message Queues

Lesson 2 of 17 Intermediate Interactive

Message queues (like Bull, RabbitMQ) handle background jobs and async communication.

Syntax

NODEJS
const Queue = require('bull');

const emailQueue = new Queue('emails');

emailQueue.add({ to: 'user@test.com', subject: 'Welcome' });

emailQueue.process(async (job) => {
    await sendEmail(job.data);
});
Bull Queue
NODE
const Queue = require("bull");

const emailQueue = new Queue("emails", {
    redis: { host: "127.0.0.1", port: 6379 }
});

// Add job
emailQueue.add({
    to: "user@example.com",
    subject: "Welcome!",
    body: "Thanks for signing up."
});

// Process jobs
emailQueue.process(async (job) => {
    console.log("Sending email to:", job.data.to);
    // await sendEmail(job.data);
    return { sent: true };
});

emailQueue.on("completed", (job) => {
    console.log("Job completed:", job.id);
});