node에서 forever-monitor 사용하는 법


node에서

github에서 forever-monitor 보고 monitor.js를 이렇게 만들었는데요

  1. 이 코드는 forever 로 실행하나요 아니면 nodejs 로 실행하나요?
  2. 실행을 중지하려면 어떻게 해야하나요?
  3. 이 코드에서 찍은 console.log()는 app.js의 console.log()와 함께 같이 logFile에 저장되나요?
/* monitor.js */
var forever = require('forever-monitor');
var time = require('./time');

var maxRestart = 20;

var now = time.getFormString();

var child = new (forever.Monitor)('app.js', {
    max: maxRestart,
    silent: true,
    args: [],
    'logFile':'log/'+now+'.log', 
    'outFile':'./'+now+'.out', 
    'errFile':'./'+now+'.err'
});

child.on('restart', function() {
    console.log(time.getKoreaString() + ', forever restart');
});

child.on('exit', function () {
    console.log(time.getKoreaString() + ', app.js has exited after'+ maxRestart+' restarts');
});

child.start();

  • 2016년 04월 10일에 작성됨

조회수 272


1 답변


좋아요
2
싫어요
채택취소하기

프로그램 내에서 실행하는게 아니라면 forever-monitor가 아닌 forever를 사용하시는게 맞을 듯 합니다. 위의 설정대로 실행하시려면

TIME=`date +%Y%m%d%H%M%S`
forever start -m 20 -s -l log/$TIME.log -o $TIME.out -e $TIME.err app.js 

실행을 중지하시려면 forever stop app.js를 실행하시면 됩니다. 그리고, forever의 실행 로그는 log/$TIME.log에, 앱에서 출력한 결과는 $TIME.out에 출력됩니다.

https://github.com/foreverjs/forever

  • 2016년 04월 11일에 작성됨
    Polyglot Programmer

  • 정말 감사합니다    bowbowbow   2016.4.11 14:50     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close