Personal open source work · built on my own time, not company work

nodejs-graceful-shutdown - NPM Package

nodejs-graceful-shutdown 패키지 썸네일

nodejs-graceful-shutdown은 Node.js 애플리케이션의 정상 종료(graceful shutdown)를 처리하는 NPM 패키지입니다. 컨테이너 환경에서 배포·스케일 인 때마다 프로세스는 SIGTERM을 받고 죽는데, 이때 처리 중이던 요청이 끊기고 DB 커넥션이 정리되지 않은 채 남습니다. 이 패키지는 종료 신호를 받으면 새 요청을 막고, 진행 중인 작업을 끝내고, 등록한 정리 핸들러를 순서대로 돌린 뒤 프로세스를 내립니다.

작은 프로젝트에 붙이기 쉽게 API를 최소로 유지했고, 외부 의존성이 없습니다.

주요 기능

  • 종료 핸들러 등록용 단순 API
  • SIGTERM·SIGINT 등 여러 종료 신호 처리
  • 정리 작업 타임아웃 설정
  • Promise 기반 핸들러 (DB 연결 해제, 큐 플러시 등)
  • TypeScript 타입 정의 포함
  • 의존성 0

사용 기술

  • Node.js, TypeScript
  • Jest (테스트), ESLint

패키지

npm: nodejs-graceful-shutdown