import { Queue } from 'bullmq'; import { redisConfig } from './config.js'; export const offboardingLwdQueue = new Queue('offboardingLwdQueue', { connection: redisConfig }); /** * Daily sweep (08:00) + optional per-case delayed jobs when a case enters Awaiting F&F. */ export const scheduleOffboardingLwdReminders = async () => { const isFastMode = process.env.DEBUG_OFFBOARDING_LWD_FAST_MODE === 'true'; const pattern = isFastMode ? '*/15 * * * *' : '0 8 * * *'; const jobs = await offboardingLwdQueue.getRepeatableJobs(); for (const job of jobs) { await offboardingLwdQueue.removeRepeatableByKey(job.key); } await offboardingLwdQueue.add('checkLwdFnfReminders', {}, { repeat: { pattern }, jobId: 'offboarding-lwd-fnf-reminder' }); console.log( `[Offboarding LWD Queue] Repeatable job scheduled: ${isFastMode ? 'Every 15 minutes (FAST MODE)' : 'Daily at 08:00'}` ); };