Lifecycle Events
Lifecycle Events
모든 응용 프로그램 요소에는 Nest에서 관리하는 수명주기가 있습니다. Nest는 수명 후크를 제공하여 주요 수명 순간에 대한 가시성과 발생시 행동 할 수있는 기능을 제공합니다.
Lifecycle sequence
생성자를 호출하여 인젝터블/컨트롤러를 생성한 후 Nest는 특정 순간에 다음 순서로 라이프 사이클 후크 메소드를 호출합니다.
| 호스트 모듈이 초기화되면 호출 |
| 응용 프로그램이 완전히 시작되고 부트 스트랩되면 호출됩니다. |
| Nest가 호스트 모듈을 파괴하기 직전에 정리 ( |
| 시스템 신호에 응답합니다 (예: |
Usage
각 수명주기 후크는 인터페이스로 표시됩니다. 인터페이스는 TypeScript 컴파일 후에는 존재하지 않기 때문에 기술적으로 선택 사항입니다. 그럼에도 불구하고 강력한 타이핑 및 편집기 툴링의 이점을 얻으려면 사용하는 것이 좋습니다.
또한 OnModuleInit
및 OnApplicationBootstrap
후크를 사용하면 응용 프로그램 초기화 프로세스를 연기할 수 있습니다 ( Promise
를 반환하거나 메소드를 async
로 표시).
OnApplicationShutdown
OnApplicationShutdown
은 시스템 신호에 응답합니다 (예: SIGTERM
에 의해 어플리케이션이 종료 될 때). 이 후크를 사용하여 Nest 애플리케이션을 정상적으로 종료하십시오. 이 기능은 종종 Kubernetes, Heroku 또는 유사한 서비스와 함께 사용됩니다.
이 후크를 사용하려면 종료 신호를 수신하는 리스너를 활성화해야합니다.
응용 프로그램이 신호를 수신하면 해당 신호를 첫 번째 매개 변수로 사용하여 Injectable
의 onApplicationShutdown
기능을 호출합니다. 함수가 약속을 반환하면 약속이 해결되거나 거부 될 때까지 Nest 응용 프로그램이 종료되지 않습니다.
Last updated