운영중인 서비스가 알지못할 에러(uncaughtException)발생으로 중지되지 않게 하기 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

운영중인 서비스가 알지못할 에러(uncaughtException)발생으로 중지되지 않게 하기 정보

node.js 운영중인 서비스가 알지못할 에러(uncaughtException)발생으로 중지되지 않게 하기

본문

NodeJS에서 오류가 발생하면 프로세스가 중지됩니다.

물론 개발단계에서는 서버가 오류에 의해 중지되는 현상이 큰 영향을 주지 않지만 일단 서비스를 할 때에는 사정이 다릅니다. 이러저러한 이유로 알지못할 오류가 발생해도 서비스 자체가 완전히 정지되지 말아야 할 요구가 제기됩니다.

이번글에서는 서비스 프로세스가 정지되지 않게 하는 방법을 하나 설명해드리겠습니다.

결론부터 말한다면 지금 소개하려는 방법은 알지못할 오류 즉  uncaughtException 에러 발생할때 프로세스가 정지되지 않게 하여야 합니다.

NodeJS기반으로 하는 웹프로세스의 부트파일(가령 server.js라고 가정!)의 코드 맨 밑줄에 아래와 같은 코드를 삽입합니다.



process.on('uncaughtException', function (err) {
    console.error((new Date).toUTCString() + ' uncaughtException:', err.message);
    // 알지 못할 에러 발생시 실행되어야 할 로직을 여기에 삽입!
});

 

이렇게 하면 uncaughtException 이 발생하여 프로세스가 완전히 꺼지는 현상을 막을수 있습니다.

도움이 되길 바랍니다.

추천
0

댓글 0개

전체 5,352
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT