mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-17 22:49:40 +02:00
fix(mana-notify): resolve BullMQ circular import issue
Move queue name constants to separate file (queue-names.ts) to avoid circular dependency between queue.module.ts and processor files. The @Processor decorator evaluates at module load time, and importing constants from queue.module.ts created a circular dependency that resulted in undefined queue names. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
384244fe50
commit
f4c49fe8f2
15 changed files with 1400 additions and 8 deletions
|
|
@ -2,7 +2,7 @@ import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq';
|
|||
import { Logger, Inject } from '@nestjs/common';
|
||||
import { Job } from 'bullmq';
|
||||
import { eq } from 'drizzle-orm';
|
||||
import { EMAIL_QUEUE } from '../queue.module';
|
||||
import { EMAIL_QUEUE } from '../queue-names';
|
||||
import { EmailService } from '../../channels/email/email.service';
|
||||
import { MetricsService } from '../../metrics/metrics.service';
|
||||
import { DATABASE_CONNECTION } from '../../db/database.module';
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq';
|
|||
import { Logger, Inject } from '@nestjs/common';
|
||||
import { Job } from 'bullmq';
|
||||
import { eq } from 'drizzle-orm';
|
||||
import { MATRIX_QUEUE } from '../queue.module';
|
||||
import { MATRIX_QUEUE } from '../queue-names';
|
||||
import { MatrixService } from '../../channels/matrix/matrix.service';
|
||||
import { MetricsService } from '../../metrics/metrics.service';
|
||||
import { DATABASE_CONNECTION } from '../../db/database.module';
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq';
|
|||
import { Logger, Inject } from '@nestjs/common';
|
||||
import { Job } from 'bullmq';
|
||||
import { eq } from 'drizzle-orm';
|
||||
import { PUSH_QUEUE } from '../queue.module';
|
||||
import { PUSH_QUEUE } from '../queue-names';
|
||||
import { PushService } from '../../channels/push/push.service';
|
||||
import { MetricsService } from '../../metrics/metrics.service';
|
||||
import { DATABASE_CONNECTION } from '../../db/database.module';
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { Processor, WorkerHost, OnWorkerEvent } from '@nestjs/bullmq';
|
|||
import { Logger, Inject } from '@nestjs/common';
|
||||
import { Job } from 'bullmq';
|
||||
import { eq } from 'drizzle-orm';
|
||||
import { WEBHOOK_QUEUE } from '../queue.module';
|
||||
import { WEBHOOK_QUEUE } from '../queue-names';
|
||||
import { WebhookService } from '../../channels/webhook/webhook.service';
|
||||
import { MetricsService } from '../../metrics/metrics.service';
|
||||
import { DATABASE_CONNECTION } from '../../db/database.module';
|
||||
|
|
|
|||
5
services/mana-notify/src/queue/queue-names.ts
Normal file
5
services/mana-notify/src/queue/queue-names.ts
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
// Queue names - separate file to avoid circular imports with processors
|
||||
export const EMAIL_QUEUE = 'email';
|
||||
export const PUSH_QUEUE = 'push';
|
||||
export const MATRIX_QUEUE = 'matrix';
|
||||
export const WEBHOOK_QUEUE = 'webhook';
|
||||
|
|
@ -6,11 +6,10 @@ import { MatrixProcessor } from './processors/matrix.processor';
|
|||
import { WebhookProcessor } from './processors/webhook.processor';
|
||||
import { ChannelsModule } from '../channels/channels.module';
|
||||
import { MetricsModule } from '../metrics/metrics.module';
|
||||
import { EMAIL_QUEUE, PUSH_QUEUE, MATRIX_QUEUE, WEBHOOK_QUEUE } from './queue-names';
|
||||
|
||||
export const EMAIL_QUEUE = 'email';
|
||||
export const PUSH_QUEUE = 'push';
|
||||
export const MATRIX_QUEUE = 'matrix';
|
||||
export const WEBHOOK_QUEUE = 'webhook';
|
||||
// Re-export for convenience
|
||||
export { EMAIL_QUEUE, PUSH_QUEUE, MATRIX_QUEUE, WEBHOOK_QUEUE } from './queue-names';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue