如果数据库连接失败,并且我不希望其他服务在Nestjs中中断怎么办

时间:2019-12-27 06:29:15

标签: node.js nestjs typeorm

在nestjs文档之后,我初始化了我的项目, 在我的项目中,我有一个路由器目录和一个orm目录, 在路由器目录中,我有两个模块:平台,标签 (这些模块包含一些控制器和服务, 并提供一些api,例如/ tag / getTag,/ platform / getInfo ..)

enter image description here enter image description here

我想知道一个数据库连接失败怎么办? 我的整个服务都坏了,

例如platformConnection失败(因为密码错误或无法连接数据库),但是tagConnection(密码)还可以。然后整个服务中断了,我无法请求/ tag / xxxx某事,

英语不是我的母语,请帮助,谢谢!

以下代码:

orm.module.ts:

dependencies:
  firebase_messaging: ^6.0.9

orm.development.ts:

import { Module } from '@nestjs/common';

const ormConfig = require(`./ormConfig/orm.${process.env.NODE_ENV}`);

@Module({
  imports: ormConfig
})
export class OrmModule {}

router.module.ts:

import path = require('path');
import { TypeOrmModule, TypeOrmModuleOptions } from '@nestjs/typeorm';

const config: TypeOrmModuleOptions[] = [
  {
    type: 'mysql',
    name: 'userPortraitConnection',
    host: '192.xx8',
    port: 3306,
    username: 'root',
    password: 'uxxxx',
    database: 'zebxxxta',
    entities: [path.join(__dirname, '../entity/**/*.entity.js')],
    synchronize: true
  },
  {
    type: 'mysql',
    name: 'platformPSConnection',
    host: '19xxxx.171',
    port: 9030,
    username: 'root',
    password: 'root',
    database: 'pxxxbase',
    synchronize: true
  }
];

module.exports = config.map(item => TypeOrmModule.forRoot(item));

tag.module.ts:

const RouterModules = [TagModule, PlatformModule];

@Module({
  imports: RouterModules,
  exports: RouterModules
})
export class Router {

platform.module.ts:

import { TagController } from './tag.controller';
import { TagService } from './services/tag.service';
import { TagCatalogService } from './services/tag-catalog.service';

// entities
import { CatalogModule } from '@entity/userPortraitConnection/Catalog/Catalog.module';

@Module({
  imports: [CatalogModule],
  providers: [TagService, TagCatalogService],
  controllers: [TagController]
})
export class TagModule {}

0 个答案:

没有答案