NestJs - LifeCycle
NestJs - LifeCycle
Sequence LifeCycleโ
NestJs ์คํ ์ํ์ค ์ ์ฒด ์ฃผ๊ธฐ๋ฅผ 3๋จ๊ณ๋ก ํฌ๊ฒ ๋๋ ์ ์๋ค.
- ์ด๊ธฐํ (initializing)
- ์คํ (running)
- ์ข ๋ฃ (terminatitng)
์ด๊ธฐํ (Initializing)โ
- BootStrapping Starts
- Nest Core BootStrapping
onModuleInit
- ๋ชจ๋ ๋ชจ๋์ child controller์ provider์
onModuleInit
๋ฉ์๋๊ฐ ์๋ฃ๋ ๋๊น์ง ๋๊ธฐํ๋ค. - ๋ชจ๋์
onModuleInit
๋ฉ์๋๊ฐ ์๋ฃ๋ ๋๊น์ง ๋๊ธฐํ๋ค.
- ๋ชจ๋ ๋ชจ๋์ child controller์ provider์
onApplicationBootstrap
- ๋ชจ๋ ๋ชจ๋์ child controller์ provider์
onApplicationBootstrap
๋ฉ์๋๊ฐ ์๋ฃ๋ ๋๊น์ง ๋๊ธฐํ๋ค. - ๋ชจ๋์
onApplicationBootstrap
๋ฉ์๋๊ฐ ์๋ฃ๋ ๋๊น์ง ๋๊ธฐํ๋ค.
- ๋ชจ๋ ๋ชจ๋์ child controller์ provider์
์คํ (running)โ
- Start listeners
- HTTP ์๋ฒ, WS ์๋ฒ, ๊ฐ๊ฐ์ ๋ง์ดํฌ๋ก ์๋น์ค๊ฐ ์ปค๋ฅ์ ์ด ์ด๋ฆฌ๊ณ , ์ค๋น๋ ๋๊น์ง ๋๊ธฐํ๋ค.
- Application is Running
- ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก์ธ์ค๊ฐ ์ ์์ ์ผ๋ก ์์๋๋ค.
์ข ๋ฃ (terminating)โ
onModuleDestroy
- ๋ชจ๋ ๋ชจ๋์ child controller์ provider์
onModuleDestroy
๋ฉ์๋๊ฐ ์๋ฃ๋ ๋๊น์ง ๋๊ธฐํ๋ค. - ๋ชจ๋์
onModuleDestroy
๋ฉ์๋๊ฐ ์๋ฃ๋ ๋๊น์ง ๋๊ธฐํ๋ค.
- ๋ชจ๋ ๋ชจ๋์ child controller์ provider์
beforeApplicationShutdown
- ๋ชจ๋ ๋ชจ๋์ child controller์ provider์
beforeApplicationShutdown
๋ฉ์๋๊ฐ ์๋ฃ๋ ๋๊น์ง ๋๊ธฐํ๋ค. - ๋ชจ๋์
beforeApplicationShutdown
๋ฉ์๋๊ฐ ์๋ฃ๋ ๋๊น์ง ๋๊ธฐํ๋ค.
- ๋ชจ๋ ๋ชจ๋์ child controller์ provider์
- Stop Listeners
- HTTP ์๋ฒ, WS ์๋ฒ, ๊ฐ๊ฐ์ ๋ง์ดํฌ๋ก ์๋น์ค๊ฐ ์ปค๋ฅ์ ์ด ์ข ๋ฃ๋ ๋๊น์ง ๋๊ธฐํ๋ค.
onApplicationShutdown
- ๋ชจ๋ ๋ชจ๋์ child controller์ provider์
onApplicationShutdown
๋ฉ์๋๊ฐ ์๋ฃ๋ ๋๊น์ง ๋๊ธฐํ๋ค. - ๋ชจ๋์
onApplicationShutdown
๋ฉ์๋๊ฐ ์๋ฃ๋ ๋๊น์ง ๋๊ธฐํ๋ค.
- ๋ชจ๋ ๋ชจ๋์ child controller์ provider์
- Process Exits
LifeCycle Eventsโ
LifeCycle ์ด๋ฒคํธ๋ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์๋๊ณ , ์ข ๋ฃ๋๋ ๊ณผ์ ์์ ๋ฐ์ํ๋ค. Nest๋ LifeCycle ์ํ์ค ์ ์ฐจ์ ๋ง์ถฐ์ ๊ฐ๊ฐ์ ๋ชจ๋, ์ปจํธ๋กค๋ฌ, providers์ ๋ฑ๋ก๋ LifeCycle Hook ๋ฉ์๋๋ฅผ ํธ์ถํ๋ค.
onModuleInit()
โ
ํธ์คํธ ๋ชจ๋์ ์์กด์ฑ์ด ํด์๋์์ ๋, ํ๋ฒ ํธ์ถ๋๋ค.
onApplicationBootstrap()
โ
๋ชจ๋ ๋ชจ๋์ด ์ด๊ธฐํ๋๊ณ , ์ปค๋ฅ์ ์ด ์ด๋ฆฌ๊ธฐ ์ ์ ํ๋ฒ ํธ์ถ๋๋ค.
onModuleDestory()
โ
์ข
๋ฃ ์๊ทธ๋(SIGTERM
)์ ์์ ๋ฐ์์ ๋ ํธ์ถ๋๋ค.
beforeApplicationShutdown()
โ
onModuleDestory
๋ฉ์๋๊ฐ ์๋ฃ๋์์ ๋ ํธ์ถ๋๋ค. ํด๋น ๋ฉ์๋๊ฐ ์๋ฃ๋๋ฉด app.close()
์ ํธ์ถ์ ํตํด ์กด์ฌํ๋ ๋ชจ๋ ์ปค๋ฅ์
์ ์ข
๋ฃ๊ฐ ์์๋๋ค.
onApplicationShutdown()
โ
๋ชจ๋ ์ปค๋ฅ์ ์ด ์ข ๋ฃ๋ ํ, ํธ์ถ๋๋ค.