Node JS 작업 스케줄러 모듈을 이용해서 배치 작업하는 방법

NodeJS

Node JS 작업 스케줄러 모듈을 이용해서 배치 작업하는 방법

 

환경: Eclipse Mars

 

유닉스 계열인 리눅스의 자동 배치는 쉘 스크립트와 crontab 을 사용합니다. OS 에서 지원하는 기능입니다. 주기적으로 진행할 작업이 있을 때 많이 이용합니다. 만약 NodeJS 서버를 사용하고 있다면 crontab 을 사용하지 않아도 됩니다. NodeJS 모듈 중에 스케줄러가 가능한 node-cron 이 있기 때문입니다.

 

먼저 node-cron 모듈을 설치해야 합니다. 다음 명령어로 설치를 진행해 주세요. 참고로 마지막에 --save package.json 파일에 모듈의 의존성을 추가하기 위한 명령어 입니다.

> npm install node-cron --save

Node JS 작업 스케줄러 모듈을 이용해서 배치 작업하는 방법

 

그림처럼 설치가 끝나면 package.json dependencies 에 모듈이 추가가 되어 있습니다

Node JS 작업 스케줄러 모듈을 이용해서 배치 작업하는 방법

 


node-cron 모듈을 사용하기 위한 소스는 다음과 같습니다. require() 을 이용해서 모듈을 불러 옵니다. 그리고 cron schedule() 함수를 이용해서 배치 주기를 설정합니다. 시간 설정 방식은 crontab 과 같습니다

var cron = require('node-cron');
cron.schedule('*/1 * * * *', function () {
	logger.log('info', 'running a task every minute / ' + new Date());
}).start();

작업 종류는 stop() 이며, 추가한 작업을 삭제하고 싶다면 destroy() 을 사용해야 합니다. 그림은 schedule() 함수에 설정한 대로 1분에 한번씩 출력한 결과 입니다

Node JS 작업 스케줄러 모듈을 이용해서 배치 작업하는 방법

Posted by 녹두장군