포스트 목록

2019년 6월 18일 화요일

nodejs - 스케쥴러 적용하기

웹 애플리케이션을 개발하다 보면 batch나 scheduler를 돌려야 하는 경우가 많다.
nodejs에서도 아주 간단하게 scheduler를 사용 할 수 있다.

# 설치만 하면 바로 사용이 가능하다
$ npm install --save node-schedule

# 아래는 sample source
var schedule = require('node-schedule');

# crontab을 사용하기 위한 format
# * * * * * * (초 분 시 날짜 월 주)

// 매 42분에 실행
var job1 = schedule.scheduleJob('42 * * * *', function() {
  console.log('job1!!');
});

// 5분마다 실행
var job2 = schedule.scheduleJob('*/5 * * * *', function() {
  console.log('job2!!');
});

// 매 1시에 실행
var job3 = schedule.scheduleJob('0 1 * * *', function() {
  console.log('job3!!');
});

// date 객체를 이용 할 수 있다.
// 2019년 1월 22일 13시 45분에 실행
var date = new Date(2019, 1, 22, 13, 45);
var job4 = schedule.scheduleJob(date, function() {
  console.log('job4!!');
});

// scheduler에 파라미터를 전달하는 방법
var date = new Date(2019, 1, 22, 13, 45);
var data = 'BEFORE';
var job5 = schedule.scheduleJob(date, function(_data) {
  console.log(_data); // BEFORE 가 출력 됨
}.bind(null, data));

// scheduler 취소
job1.cancel();
job2.cancel();
job3.cancel();
job4.cancel();
job5.cancel();