const options = { attempts: 5, backoff: { type: "exponential", delay: 2000 }, removeOnComplete: { age: 3600, count: 1000 }, removeOnFail: { age: 604800, count: 5000 } }; if (process.env.NODE_ENV === "test") { module.exports = { name: "email-delivery", opts: { defaultJobOptions: options }, add: async (_name, _data, jobOptions) => ({ id: jobOptions?.jobId }), close: async () => undefined }; } else { const { Queue } = require("bullmq"); const connection = require("../config/redisClient"); module.exports = new Queue("email-delivery", { connection, defaultJobOptions: options }); }