init redis lazy

This commit is contained in:
Carl-Gerhard Lindesvärd
2024-07-20 20:17:32 +02:00
parent 492141547d
commit f2298a1b05
19 changed files with 134 additions and 86 deletions

View File

@@ -1,5 +1,4 @@
export { eventsQueue, cronQueue, sessionsQueue } from './src/queues';
export type * from './src/queues';
export { connection } from './src/connection';
export { findJobByPrefix } from './src/utils';
export type { JobsOptions } from 'bullmq';

View File

@@ -9,6 +9,7 @@
},
"dependencies": {
"@openpanel/db": "workspace:*",
"@openpanel/redis": "workspace:*",
"bullmq": "^5.8.7"
},
"devDependencies": {

View File

@@ -1,10 +0,0 @@
const parse = (connectionString: string) => {
const url = new URL(connectionString);
return {
host: url.hostname,
port: Number(url.port),
password: url.password,
} as const;
};
export const connection = parse(String(process.env.REDIS_URL));

View File

@@ -1,10 +1,9 @@
import { Queue } from 'bullmq';
import type { IServiceCreateEventPayload } from '@openpanel/db';
import { getRedisQueue } from '@openpanel/redis';
import type { PostEventPayload } from '@openpanel/sdk';
import { connection } from './connection';
export interface EventsQueuePayloadIncomingEvent {
type: 'incomingEvent';
payload: {
@@ -63,21 +62,21 @@ export type CronQueuePayload =
| CronQueuePayloadFlushProfiles;
export const eventsQueue = new Queue<EventsQueuePayload>('events', {
connection,
connection: getRedisQueue(),
defaultJobOptions: {
removeOnComplete: 10,
},
});
export const sessionsQueue = new Queue<SessionsQueuePayload>('sessions', {
connection,
connection: getRedisQueue(),
defaultJobOptions: {
removeOnComplete: 10,
},
});
export const cronQueue = new Queue<CronQueuePayload>('cron', {
connection,
connection: getRedisQueue(),
defaultJobOptions: {
removeOnComplete: 10,
},