/** * Copyright (c) 2026 Niolla * All rights reserved. * * This source code is proprietary and confidential. * Unauthorized copying, modification, distribution, or use * of this file, via any medium, is strictly prohibited. */ // app/queues/document.queue.js const { Queue } = require("bullmq"); const redis = require("../config/redisClient"); const documentQueue = new Queue("document-generation", { connection: redis, defaultJobOptions: { attempts: 3, backoff: { type: "exponential", delay: 2000, }, removeOnComplete: { age: 3600, count: 1000, }, removeOnFail: false, }, }); // Event listeners documentQueue.on("error", (err) => { console.error("Document Queue Error:", err); }); documentQueue.on("waiting", (job) => { console.log(`Document Job ${job.id} waiting...`); }); documentQueue.on("active", (job) => { console.log(`Document Job ${job.id} started...`); }); documentQueue.on("completed", (job) => { console.log(`Document Job ${job.id} completed`); }); documentQueue.on("failed", (job, err) => { console.error( `Document Job ${job.id} failed:`, err.message ); }); module.exports = documentQueue;