diff --git a/packages/core/server/src/app-supervisor.ts b/packages/core/server/src/app-supervisor.ts index 02271531f..379212f81 100644 --- a/packages/core/server/src/app-supervisor.ts +++ b/packages/core/server/src/app-supervisor.ts @@ -127,7 +127,9 @@ export class AppSupervisor extends EventEmitter implements AsyncEmitter { async bootStrapApp(appName: string, options = {}) { await this.getMutexOfApp(appName).runExclusive(async () => { if (!this.hasApp(appName)) { - this.setAppStatus(appName, 'initializing'); + if (!this.getAppStatus(appName)) { + this.setAppStatus(appName, 'initializing'); + } if (this.appBootstrapper) { await this.appBootstrapper({ diff --git a/packages/core/server/src/gateway/index.ts b/packages/core/server/src/gateway/index.ts index 32bd295e5..f4fe93fd8 100644 --- a/packages/core/server/src/gateway/index.ts +++ b/packages/core/server/src/gateway/index.ts @@ -219,11 +219,7 @@ export class Gateway extends EventEmitter { const handleApp = await this.getRequestHandleAppName(req as IncomingRequest); const log = this.getLogger(handleApp, res); - const hasApp = AppSupervisor.getInstance().hasApp(handleApp); - - if (!hasApp) { - void AppSupervisor.getInstance().bootStrapApp(handleApp); - } + await AppSupervisor.getInstance().getApp(handleApp); let appStatus = AppSupervisor.getInstance().getAppStatus(handleApp, 'initializing');