운영중인 서비스가 알지못할 에러(uncaughtException)발생으로 중지되지 않게 하기
NodeJS에서 오류가 발생하면 프로세스가 중지됩니다.
물론 개발단계에서는 서버가 오류에 의해 중지되는 현상이 큰 영향을 주지 않지만 일단 서비스를 할 때에는 사정이 다릅니다. 이러저러한 이유로 알지못할 오류가 발생해도 서비스 자체가 완전히 정지되지 말아야 할 요구가 제기됩니다.
이번글에서는 서비스 프로세스가 정지되지 않게 하는 방법을 하나 설명해드리겠습니다.
결론부터 말한다면 지금 소개하려는 방법은 알지못할 오류 즉 uncaughtException 에러 발생할때 프로세스가 정지되지 않게 하여야 합니다.
NodeJS기반으로 하는 웹프로세스의 부트파일(가령 server.js라고 가정!)의 코드 맨 밑줄에 아래와 같은 코드를 삽입합니다.
[code]
process.on('uncaughtException', function (err) {
console.error((new Date).toUTCString() + ' uncaughtException:', err.message);
// 알지 못할 에러 발생시 실행되어야 할 로직을 여기에 삽입!
});
[/code]
이렇게 하면 uncaughtException 이 발생하여 프로세스가 완전히 꺼지는 현상을 막을수 있습니다.
도움이 되길 바랍니다.
게시판 목록
개발자팁
개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.
질문은 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 5066 | 기타 |
DogFoot개발
|
4년 전 | 1827 | |
| 5065 | PHP |
DogFoot개발
|
4년 전 | 1538 | |
| 5064 | PHP |
happyl
|
4년 전 | 1925 | |
| 5063 | node.js |
DogFoot개발
|
4년 전 | 1683 | |
| 5062 | node.js |
DogFoot개발
|
4년 전 | 1701 | |
| 5061 | node.js |
DogFoot개발
|
4년 전 | 1425 | |
| 5060 | node.js |
DogFoot개발
|
4년 전 | 1264 | |
| 5059 | node.js |
DogFoot개발
|
4년 전 | 1257 | |
| 5058 | 기타 |
DogFoot개발
|
4년 전 | 2700 | |
| 5057 | 웹서버 |
DogFoot개발
|
4년 전 | 2730 | |
| 5056 | MySQL | 4년 전 | 1511 | ||
| 5055 | 기타 | 4년 전 | 1440 | ||
| 5054 | OS | 4년 전 | 2076 | ||
| 5053 | 웹서버 | 4년 전 | 3635 | ||
| 5052 | OS | 4년 전 | 2430 | ||
| 5051 | PHP | 4년 전 | 2196 | ||
| 5050 | 웹서버 | 4년 전 | 1723 | ||
| 5049 | MySQL | 4년 전 | 1905 | ||
| 5048 | OS | 4년 전 | 2714 | ||
| 5047 | PHP | 4년 전 | 4381 | ||
| 5046 | MySQL | 4년 전 | 1826 | ||
| 5045 | MySQL | 4년 전 | 1950 | ||
| 5044 | MySQL | 4년 전 | 4143 | ||
| 5043 | MySQL | 4년 전 | 1898 | ||
| 5042 | 기타 |
|
4년 전 | 2641 | |
| 5041 | MySQL | 4년 전 | 2005 | ||
| 5040 | MySQL | 4년 전 | 1734 | ||
| 5039 | MySQL | 4년 전 | 1509 | ||
| 5038 | MySQL | 4년 전 | 1347 | ||
| 5037 | OS | 4년 전 | 4439 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기