Agenda, Node-cron, Node-schedule
위 3 모듈 다 cron
형식으로 시간을 일정 규칙에 맞춰 지정해주면 고정된 작업을 시간 규칙에 따라 동작한다.
유닉스와 같은 컴퓨터 운영체제에서 사용되는 시간 기반 작업 스케줄러이다.
위 표를 보면 Agenda를 사용해야겠다는 생각이 1차적으로 든다. 참고글을 작성하신 분의 경우 mongoDB를 사용하지 않기 때문에 고려하지 않기로 결정. 하지만 MongoDB를 사용하는 경우 충분히 고려할만하다.
모듈 유지 인원, 다운로드수, star 수, non-cron 스타일 지원, 레퍼런스등 을 볼때 적절하다고 생각된다.
npm install node-schedule
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │
│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)
│ │ │ │ └───── month (1 - 12)
│ │ │ └────────── day of month (1 - 31)
│ │ └─────────────── hour (0 - 23)
│ └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)
var schedule = require('node-schedule');
var j = schedule.scheduleJob('42 * * * *', function(){
console.log('The answer to life, the universe, and everything!');
});
var j = schedule.scheduleJob({hour: 14, minute: 30, dayOfWeek: 0}, function(){
console.log('Time for tea!');
});
j.cancel();