Estoy tratando de configurar una aplicación híbrida simple usando la documentación de Nest , pero la aplicación se atasca sin tirar.
main.ts
import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; import { Logger } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; import { MicroserviceOptions, Transport } from '@nestjs/microservices'; const logger = new Logger('Main'); async function bootstrap() { const app = await NestFactory.create(AppModule); const configService = app.get(ConfigService); const redisConfig = configService.get('database.redis'); app.connectMicroservice<MicroserviceOptions>({ transport: Transport.REDIS, options: { url: `redis://${redisConfig.host}:${redisConfig.port}`, }, }); await app.startAllMicroservices(); await app.listen(configService.get('app.port')); } bootstrap() .then(() => logger.log('App running')) .catch((e) => logger.error(e));
Cuando comento app.startAllMicroservices()
o el código que conecta el microservicio, la línea de App running
se registra, con ella, la aplicación se atasca.
Estoy 100% seguro de que Redis está funcionando y responde, estoy usando Bull, que usa la misma configuración y funciona bien.
Intenté comentar todo lo irrelevante para lo anterior (todo ConfigModule
) en app.module
sin éxito. Cualquier ayuda sería apreciada.
Estoy ejecutando la última versión de NestJS y sus dependencias de pares.
Acabo de resolver un problema similar. Según el momento de escribir, rebaje el paquete redis npm a ^ 3 desde cualquier valor alto, es decir, ^ 4.
Desde nestjs microservice redis docs Para comenzar a crear microservicios basados en Redis, primero instale el paquete requerido (tenga en cuenta que, a partir de ahora, la versión admitida de Redis es ^3, no la última ^4) :