[Nest.js] graceful shutdown을 구현하자.
개요 nest.js에서는 여러 lifecycle-events를 제공한다. 이중에서 shutdown events를 활용해서 graceful shutdown을 구현해보자. 어떨 때 사용할까? 일반적으로 graceful shutdown을 구현할 때 사용한다. consumer는 consume을 중단하고, 현재 남아있는 작업을 처리할 동안 대기한다. log의 경우 buffer에 남아있는 log를 처리하고 종료를 진행한다. 예제 아래의 예제는 log를 buffer에만 쌓아두다가 종료시 한 번에 처리하는 형태로 예제를 구성해보았다. 1. logger 생성 interface BufferLogFormat { level: string; message: string; } // 극단적인 상황을 가정하기 위해서, buffer에..
2022.06.12