refactor(pipeline-tasks-runner): rabbitmq
This commit is contained in:
@ -11,6 +11,10 @@ import { PipelineTaskConsumer } from './pipeline-task.consumer';
|
||||
import { PIPELINE_TASK_QUEUE } from './pipeline-tasks.constants';
|
||||
import { PipelineTaskLogsService } from './pipeline-task-logs.service';
|
||||
import { PubSubModule } from '../commons/pub-sub/pub-sub.module';
|
||||
import { RabbitMQModule } from '@golevelup/nestjs-rabbitmq';
|
||||
import { ConfigModule, ConfigService } from '@nestjs/config';
|
||||
import { PipelineTaskRunner } from './pipeline-task.runner';
|
||||
import { spawn } from 'child_process';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@ -21,12 +25,48 @@ import { PubSubModule } from '../commons/pub-sub/pub-sub.module';
|
||||
PubSubModule.forFeature(),
|
||||
RedisModule,
|
||||
ReposModule,
|
||||
|
||||
RabbitMQModule.forRootAsync(RabbitMQModule, {
|
||||
imports: [ConfigModule],
|
||||
useFactory: (configService: ConfigService) => ({
|
||||
uri: configService.get<string>('db.rabbitmq.uri'),
|
||||
exchanges: [
|
||||
{
|
||||
name: 'new-pipeline-task',
|
||||
type: 'fanout',
|
||||
options: {
|
||||
durable: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'stop-pipeline-task',
|
||||
type: 'fanout',
|
||||
options: {
|
||||
durable: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'update-pipeline-task',
|
||||
type: 'fanout',
|
||||
options: {
|
||||
durable: false,
|
||||
},
|
||||
},
|
||||
],
|
||||
}),
|
||||
inject: [ConfigService],
|
||||
}),
|
||||
],
|
||||
providers: [
|
||||
PipelineTasksService,
|
||||
PipelineTasksResolver,
|
||||
PipelineTaskConsumer,
|
||||
PipelineTaskLogsService,
|
||||
PipelineTaskRunner,
|
||||
{
|
||||
provide: 'spawn',
|
||||
useValue: spawn,
|
||||
},
|
||||
],
|
||||
exports: [PipelineTasksService],
|
||||
})
|
||||
|
Reference in New Issue
Block a user