Сбой NestJS-Быстрый из-за отсутствия подключения Mongodb

#mongodb #mongoose #nestjs

#mongodb #мангуст #гнездышко

Вопрос:

Я разрабатываю небольшой микросервис NestJS и хочу, чтобы он вышел из строя при запуске, если соединение с базой данных не может быть установлено.

В файле app.module.ts модуль MongooseModule создается асинхронно. Модуль сохранения импортирует модуль Мангуст синхронно.

Когда я запускаю приложение без какой-либо доступной базы данных, все просто запускается, и через некоторое время клиент получает тайм-аут. Предпочтительным поведением было бы то, что приложение завершает работу после того, как не удалось установить соединение.

Асинхронная инициализация, возможно, не является правильным выбором для быстрого подхода, но я не могу найти альтернативу для создания конфигурации.

приложение.модуль.ts

 const env = process.env.NODE_ENV @Module({  imports: [  ConfigModule.forRoot({  envFilePath: env === 'production' ? 'env/.env.prod' : 'env/.env',  }),  PersistenceModule,  MongooseModule.forRootAsync({  imports: [ConfigModule],  inject: [ConfigService],  useFactory: (configServig: ConfigService) =gt; ({  uri: configServig.get('DB_URL'),  dbName: configServig.get('DB_NAME'),  user: configServig.get('DB_USER'),  pass: configServig.get('DB_PASSWORD'),  }),  }),  ],  controllers: [AppController, CarController],  providers: [AppService], }) export class AppModule {}  

постоянство.модуль.ts

 @Module({  imports: [  MongooseModule.forFeature([  {  name: Car.name,  schema: CarSchema,  },  ]),  ],  providers: [CarRepository],  exports: [CarRepository], }) export class PersistenceModule {}