Lifecycle Events
Last updated
Last updated
λͺ¨λ μμ© νλ‘κ·Έλ¨ μμμλ Nestμμ κ΄λ¦¬νλ μλͺ μ£ΌκΈ°κ° μμ΅λλ€. Nestλ μλͺ νν¬λ₯Ό μ 곡νμ¬ μ£Όμ μλͺ μκ°μ λν κ°μμ±κ³Ό λ°μμ νλ ν μμλ κΈ°λ₯μ μ 곡ν©λλ€.
μμ±μλ₯Ό νΈμΆνμ¬ μΈμ ν°λΈ/컨νΈλ‘€λ¬λ₯Ό μμ±ν ν Nestλ νΉμ μκ°μ λ€μ μμλ‘ λΌμ΄ν μ¬μ΄ν΄ νν¬ λ©μλλ₯Ό νΈμΆν©λλ€.
κ° μλͺ μ£ΌκΈ° νν¬λ μΈν°νμ΄μ€λ‘ νμλ©λλ€. μΈν°νμ΄μ€λ TypeScript μ»΄νμΌ νμλ μ‘΄μ¬νμ§ μκΈ° λλ¬Έμ κΈ°μ μ μΌλ‘ μ ν μ¬νμ λλ€. κ·ΈλΌμλ λΆκ΅¬νκ³ κ°λ ₯ν νμ΄ν λ° νΈμ§κΈ° ν΄λ§μ μ΄μ μ μ»μΌλ €λ©΄ μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.
λν OnModuleInit
λ° OnApplicationBootstrap
νν¬λ₯Ό μ¬μ©νλ©΄ μμ© νλ‘κ·Έλ¨ μ΄κΈ°ν νλ‘μΈμ€λ₯Ό μ°κΈ°ν μ μμ΅λλ€ ( Promise
λ₯Ό λ°ννκ±°λ λ©μλλ₯Ό async
λ‘ νμ).
OnApplicationShutdown
μ μμ€ν
μ νΈμ μλ΅ν©λλ€ (μ: SIGTERM
μ μν΄ μ΄ν리μΌμ΄μ
μ΄ μ’
λ£ λ λ). μ΄ νν¬λ₯Ό μ¬μ©νμ¬ Nest μ ν리μΌμ΄μ
μ μ μμ μΌλ‘ μ’
λ£νμμμ€. μ΄ κΈ°λ₯μ μ’
μ’
Kubernetes, Heroku λλ μ μ¬ν μλΉμ€μ ν¨κ» μ¬μ©λ©λλ€.
μ΄ νν¬λ₯Ό μ¬μ©νλ €λ©΄ μ’ λ£ μ νΈλ₯Ό μμ νλ 리μ€λλ₯Ό νμ±νν΄μΌν©λλ€.
μμ© νλ‘κ·Έλ¨μ΄ μ νΈλ₯Ό μμ νλ©΄ ν΄λΉ μ νΈλ₯Ό 첫 λ²μ§Έ λ§€κ° λ³μλ‘ μ¬μ©νμ¬ Injectable
μ onApplicationShutdown
κΈ°λ₯μ νΈμΆν©λλ€. ν¨μκ° μ½μμ λ°ννλ©΄ μ½μμ΄ ν΄κ²°λκ±°λ κ±°λΆ λ λκΉμ§ Nest μμ© νλ‘κ·Έλ¨μ΄ μ’
λ£λμ§ μμ΅λλ€.
OnModuleInit
νΈμ€νΈ λͺ¨λμ΄ μ΄κΈ°νλλ©΄ νΈμΆ
OnApplicationBootstrap
μμ© νλ‘κ·Έλ¨μ΄ μμ ν μμλκ³ λΆνΈ μ€νΈλ©λλ©΄ νΈμΆλ©λλ€.
OnModuleDestroy
Nestκ° νΈμ€νΈ λͺ¨λμ νκ΄΄νκΈ° μ§μ μ μ 리 (app.close()
λ©μλκ° νκ°λμμ΅λλ€)
OnApplicationShutdown
μμ€ν
μ νΈμ μλ΅ν©λλ€ (μ:SIGTERM
μ μν΄ μμ© νλ‘κ·Έλ¨μ΄ μ’
λ£λ κ²½μ°)