Files
iddaai-be/src/modules/predictions/predictions.module.ts
T
2026-05-10 10:37:45 +03:00

40 lines
1.4 KiB
TypeScript
Executable File

import { Module } from "@nestjs/common";
import { HttpModule } from "@nestjs/axios";
import { BullModule } from "@nestjs/bullmq";
import { PredictionsController } from "./predictions.controller";
import { PredictionsService } from "./predictions.service";
import { AiFeatureStoreService } from "./services/ai-feature-store.service";
import { DatabaseModule } from "../../database/database.module";
import { MatchesModule } from "../matches/matches.module";
import { PredictionsQueue } from "./queues/predictions.queue";
import { PredictionsProcessor } from "./queues/predictions.processor";
import { PREDICTIONS_QUEUE } from "./queues/predictions.types";
import { FeederModule } from "../feeder/feeder.module";
import { AnalysisModule } from "../analysis/analysis.module";
const redisEnabled = process.env.REDIS_ENABLED === "true";
@Module({
imports: [
DatabaseModule,
HttpModule.register({
timeout: 30000, // 30 seconds
maxRedirects: 5,
}),
...(redisEnabled
? [BullModule.registerQueue({ name: PREDICTIONS_QUEUE })]
: []),
MatchesModule,
FeederModule,
AnalysisModule,
],
controllers: [PredictionsController],
providers: [
PredictionsService,
AiFeatureStoreService,
...(redisEnabled ? [PredictionsQueue, PredictionsProcessor] : []),
],
exports: [PredictionsService, AiFeatureStoreService],
})
export class PredictionsModule {}