Skip to content

Lifecycle Events

Lifecycle sequence

alt

Lifecycle events

onModuleInit()
onApplicationBootstrap()
onModuleDestroy()SIGTERM
beforeApplicationShutdown()onModuleDestroy()
app.close()
onApplicationShutdown()app.close()

구현

Gihub Link

typescript
@Controller()
export class AppController
  implements
    OnModuleInit,
    OnApplicationBootstrap,
    OnModuleDestroy,
    BeforeApplicationShutdown,
    OnApplicationShutdown
{
  onModuleInit() {
    console.log("onModuleInit");
  }

  onApplicationBootstrap() {
    console.log("onApplicationBootstrap");
  }

  onModuleDestroy() {
    console.log("onModuleDestroy");
  }

  beforeApplicationShutdown() {
    console.log("beforeApplicationShutdown");
  }

  onApplicationShutdown(signal?: string) {
    console.log("onApplicationShutdown");
  }
}

결과

backend-1   | onModuleInit
backend-1   | onApplicationBootstrap
backend-1   | [Nest] 48  - 04/18/2024, 12:52:35 AM     LOG [NestApplication] Nest application successfully started +5ms
backend-1   | [Nest] 48  - 04/18/2024, 12:52:35 AM     LOG [Application] Server running on http://localhost:3000
backend-1   | ✔  TSC  Initializing type checker...
backend-1   | >  TSC  Found 0 issues.
backend-1   | onModuleDestroy
backend-1   | beforeApplicationShutdown
backend-1   | onApplicationShutdown