diff --git a/src/lib/services.ts b/src/lib/services.ts index abdce28..c00cf8f 100644 --- a/src/lib/services.ts +++ b/src/lib/services.ts @@ -66,6 +66,7 @@ export default class Services { private getPgPool(): Pool | null { return getPgPool(); } + private getRedisClient(): RedisClient { return getRedisClient(); } diff --git a/src/modules/session/session.queue.ts b/src/modules/session/session.queue.ts index 1975277..758c4e8 100644 --- a/src/modules/session/session.queue.ts +++ b/src/modules/session/session.queue.ts @@ -2,6 +2,10 @@ import { JobsOptions, Queue } from 'bullmq'; import { connectionOptionsIo } from '@/lib/redis'; const SESSION_QUEUE_NAME = 'session'; +const SESSION_QUEUE_PREFIX = 'queue'; +const RETRY_BACKOFF_RATE_MS = 500; +const RETRY_MAX_ATTEMPTS = 3; +const RETRY_BACKOFF_TYPE = 'exponential'; const defaultQueueConfig = { streams: { @@ -21,16 +25,21 @@ export enum SessionJobName { } export const defaultJobConfig: JobsOptions = { + attempts: RETRY_MAX_ATTEMPTS, + backoff: { + type: RETRY_BACKOFF_TYPE, + delay: RETRY_BACKOFF_RATE_MS + }, removeOnComplete: true, removeOnFail: false }; export const sessionQueue = new Queue(SESSION_QUEUE_NAME, { connection: connectionOptionsIo, - prefix: 'queue', + prefix: SESSION_QUEUE_PREFIX, ...defaultQueueConfig }); sessionQueue.on('error', (err) => { - console.log(`BULLMQ ERROR >>>>>>>>>>>>>>>>>>>>>>>> Session queue error`, { err }); + console.log(`Session queue error`, { err }); });