reworked queue lib

This commit is contained in:
Boki 2025-06-19 07:20:14 -04:00
parent 629ba2b8d4
commit c05a7413dc
34 changed files with 3887 additions and 861 deletions

31
libs/queue/src/utils.ts Normal file
View file

@ -0,0 +1,31 @@
/**
* Get Redis connection configuration with retry settings
*/
export function getRedisConnection(config: {
host: string;
port: number;
password?: string;
db?: number;
}) {
const isTest = process.env.NODE_ENV === 'test' || process.env.BUNIT === '1';
return {
host: config.host,
port: config.port,
password: config.password,
db: config.db,
maxRetriesPerRequest: null, // Required by BullMQ
enableReadyCheck: false,
connectTimeout: isTest ? 1000 : 3000,
lazyConnect: true,
keepAlive: false,
retryStrategy: (times: number) => {
const maxRetries = isTest ? 1 : 3;
if (times > maxRetries) {
return null; // Stop retrying
}
const delay = isTest ? 100 : Math.min(times * 100, 3000);
return delay;
},
};
}