테스트 사이트 - 개발 중인 베타 버전입니다

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

· 2년 전 · 1036

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

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

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

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

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

[code]

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

[/code]

 

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

도움이 되길 바랍니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
16429
16424
16423
16412
16408
16407
16401
16395
16394
16391
16390
16389
16387
16386
JavaScript js playground
16382
16381
16377
16374
16372
16356
16355
16354
16353
16347
16346
16339
16338
16332
16331
16330