All files / src/platform/scheduler scheduler.module.ts

0% Statements 0/10
100% Branches 0/0
100% Functions 0/0
0% Lines 0/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36                                                                       
import { Module, Global } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { BullModule } from '@nestjs/bullmq';
import { JobSchedulerService, JobHandlerRegistry } from './scheduler.service';
import { SchedulerController } from './scheduler.controller';
import { SchedulerProcessor } from './scheduler.processor';
import {
  ScheduledJobDefinition,
  ScheduledJobDefinitionSchema,
  JobExecution,
  JobExecutionSchema,
  QueueConfiguration,
  QueueConfigurationSchema,
} from './schemas/scheduler.schema';
 
@Global()
@Module({
  imports: [
    MongooseModule.forFeature([
      {
        name: ScheduledJobDefinition.name,
        schema: ScheduledJobDefinitionSchema,
      },
      { name: JobExecution.name, schema: JobExecutionSchema },
      { name: QueueConfiguration.name, schema: QueueConfigurationSchema },
    ]),
    BullModule.registerQueue({
      name: 'scheduler.jobs',
    }),
  ],
  controllers: [SchedulerController],
  providers: [JobSchedulerService, JobHandlerRegistry, SchedulerProcessor],
  exports: [JobSchedulerService, JobHandlerRegistry],
})
export class SchedulerModule {}