Spaces:
Sleeping
Sleeping
File size: 1,333 Bytes
b2806e8 8626b2e b2806e8 8626b2e b2806e8 8626b2e b2806e8 8626b2e b2806e8 8626b2e b2806e8 8626b2e b2806e8 |
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 37 |
import { Module, OnModuleInit } from '@nestjs/common';
import { BullModule, InjectQueue } from '@nestjs/bullmq';
import { Queue } from 'bullmq';
import { MarketsService } from './markets.service';
import { MarketsController } from './markets.controller';
import { MarketProcessor } from './market.processor';
import { MarketCacheService } from './market-cache.service';
const redisAvailable = process.env.REDIS_HOST || process.env.ENABLE_REDIS === 'true';
const bullImports = redisAvailable
? [BullModule.registerQueue({ name: 'market-processing' })]
: [];
const bullProviders = redisAvailable ? [MarketProcessor] : [];
@Module({
imports: [...bullImports],
controllers: [MarketsController],
providers: [MarketsService, MarketCacheService, ...bullProviders],
})
export class MarketsModule implements OnModuleInit {
constructor(
private readonly marketsService: MarketsService,
private readonly cacheService: MarketCacheService,
) {}
async onModuleInit() {
// Pre-set all markets as ready (no queue needed without Redis)
const markets = this.marketsService.getMarkets();
for (const market of markets) {
this.cacheService.setStatus(market.slug, 'ready');
}
console.log(`[WagerKit] Initialized ${markets.length} markets (Redis: ${redisAvailable ? 'connected' : 'skipped'})`);
}
}
|