1
1
import { Module } from '@nestjs/common' ;
2
- import { ConfigModule } from '@nestjs/config' ;
2
+ import { ConfigModule , ConfigService } from '@nestjs/config' ;
3
3
4
4
import { AppController } from './app.controller' ;
5
5
import { AppService } from './app.service' ;
@@ -13,10 +13,33 @@ import { OpenapiModule } from './openapi/openapi.module';
13
13
import { WorkflowsController } from './workflows/workflows.controller' ;
14
14
import { ChatgptService } from '@app/shared/openapi/chatgpt.service' ;
15
15
import { FirestoreService } from '@app/shared/gcp/firestore.service' ;
16
+ import { BatchController } from './batch.controller' ;
17
+ import { BullModule } from '@nestjs/bull' ;
18
+ import {
19
+ REDIS_QUEUE_VIDEO_GENERATOR ,
20
+ REDIS_QUEUE_VIDEO_RECORDER ,
21
+ } from '@apps/batch-server/constants' ;
16
22
17
23
@Module ( {
18
24
imports : [
19
25
ConfigModule . forRoot ( { isGlobal : true } ) ,
26
+ BullModule . forRootAsync ( {
27
+ imports : [ ConfigModule ] ,
28
+ inject : [ ConfigService ] ,
29
+ useFactory : async ( config : ConfigService ) => ( {
30
+ redis : {
31
+ host : config . getOrThrow ( 'REDIS_HOST' ) ,
32
+ port : config . getOrThrow ( 'REDIS_PORT' ) ,
33
+ password : config . getOrThrow ( 'REDIS_PASS' ) ,
34
+ } ,
35
+ } ) ,
36
+ } ) ,
37
+ BullModule . registerQueue ( {
38
+ name : REDIS_QUEUE_VIDEO_RECORDER ,
39
+ } ) ,
40
+ BullModule . registerQueue ( {
41
+ name : REDIS_QUEUE_VIDEO_GENERATOR ,
42
+ } ) ,
20
43
AuthModule ,
21
44
YoutubeModule ,
22
45
SlidesModule ,
@@ -25,7 +48,7 @@ import { FirestoreService } from '@app/shared/gcp/firestore.service';
25
48
AiModule ,
26
49
OpenapiModule ,
27
50
] ,
28
- controllers : [ AppController , WorkflowsController ] ,
51
+ controllers : [ AppController , WorkflowsController , BatchController ] ,
29
52
providers : [ AppService , ChatgptService , FirestoreService ] ,
30
53
} )
31
54
export class AppModule { }
0 commit comments