일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 영어
- oracle
- 오라클
- 도커
- docker
- 자바
- JavaScript
- Java
- 노드
- 머신러닝
- 자바스크립트
- ABAP
- Spring Framework
- nodejs
- 파이썬
- SAP
- 유럽여행
- SAP ABAP
- Mac
- node.js
- 비지니스영어
- 딥러닝
- IT
- Programming
- Python
- SAP ERP
- sap mm
- Oracle DB
- db
- 오라클 디비
- Today
- Total
JIHYUN JEONG
[Node.js] node-schedule 모듈 (2), job scheduler(배치잡) 본문
[Node.js] node-schedule 모듈 (2), job scheduler(배치잡)
StopHyun 2018. 1. 3. 23:27node-schedule 모듈을 통해 특정 작업을 스케줄링 해보는 방법을 배워보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
const schedule = require('node-schedule'); // Cron-style Scheduling // * * * * * * // ┬ ┬ ┬ ┬ ┬ ┬ // │ │ │ │ │ | // │ │ │ │ │ └ 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)
// Runs every weekday (Monday through Friday) // at 11:30:00 AM. const j = schedule.scheduleJob('00 30 11 * * 1-5', () => { console.log('Cron-style Scheduling'); });
// Recurrence Rule Scheduling // 0 - Sunday ~ 6 - Saturday // 월요일부터 일요일까지 17시 17분에 실행될 스케줄링 const rule = new schedule.RecurrenceRule(); rule.dayOfWeek = [0, new schedule.Range(0, 6)]; rule.hour = 17; rule.minute = 17;
const k = schedule.scheduleJob(rule, () => { console.log('Recurrence Rule Scheduling'); });
// 작업취소 // j.cancel(); // k.cancel();
// Object Literal Syntax // 0 - Sunday ~ 6 - Saturday // every Saturday at 21:10 const l = schedule.scheduleJob({ hour: 21, minute: 10, dayOfWeek: 6 }, () => { console.log('Object Literal Syntax'); });
// Set StartTime and EndTime const startTime = new Date(Date.now() + 5000); const endTime = new Date(startTime.getTime() + 5000); const m = schedule.scheduleJob({ start: startTime, end: endTime, rule: '*/1 * * * * *' }, () => { console.log('Set StartTime and EndTime'); }); |
이번에는 주기적으로 반복 되는 작업에 대해서 배워보도록 하겠습니다.
// Runs every weekday (Monday through Friday)
// at 11:30:00 AM.
const j = schedule.scheduleJob('00 30 11 * * 1-5', () => {
console.log('Cron-style Scheduling');
});
cron 모듈 스타일로 작성된 매주 월~금 11시 30분에 실행되는 작업 입니다.
// Recurrence Rule Scheduling
// 0 - Sunday ~ 6 - Saturday
// 월요일부터 일요일까지 17시 17분에 실행될 스케줄링
const rule = new schedule.RecurrenceRule();
rule.dayOfWeek = [0, new schedule.Range(0, 6)];
rule.hour = 17;
rule.minute = 17;
const k = schedule.scheduleJob(rule, () => {
console.log('Recurrence Rule Scheduling');
});
월요일 ~ 일요일까지 17시 17분에 실행을 할려면 RecurrenceRule 객체 인스턴스 생성 후 dayOfWeek 속송에 해당 요일를 전달합니다. 그리고 Range()를 통해 범위를 지정합니다.
// Object Literal Syntax
// 0 - Sunday ~ 6 - Saturday
// every Saturday at 21:10
const l = schedule.scheduleJob({ hour: 21, minute: 10, dayOfWeek: 6 }, () => {
console.log('Object Literal Syntax');
});
해당 부분은 보다 손 쉽게 scheduling 설정하는 방법입니다.
// Set StartTime and EndTime
const startTime = new Date(Date.now() + 5000);
const endTime = new Date(startTime.getTime() + 5000);
const m = schedule.scheduleJob({ start: startTime, end: endTime, rule: '*/1 * * * * *' },
() => {
console.log('Set StartTime and EndTime');
});
그리고 시작시간과 종료시간도 위와 같이 설정 할 수 있습니다.
추가 더 많은 기능을 확인 하고 싶으면 아래 URL을 참고하시기 바랍니다.
https://github.com/node-schedule/node-schedule
나는 연습에서든 실전에서든 이기기 위해 농구를 한다. 그 어떤 것도 승리를 향한 나의 경쟁적 열정에 방해가 되도록 하지 않을 것이다.
I play to win, whether during practice or a real game. And I will not let anything get in the way of me and my competitive enthusiasm to win.
- 마이클 조던 -
'Information Technology > Node.js' 카테고리의 다른 글
[Node.js]Nodemailer 모듈 (1) – 메일보내기(TEXT) (0) | 2018.01.08 |
---|---|
[Node.js] Curl 커맨드 command를 Nodejs/Python/로 작성해보기 (0) | 2018.01.04 |
[Node.js] node-schedule 모듈 (1), job scheduler(배치잡) (0) | 2017.12.18 |
[Chapter 6] Node.js 전역객체 (Global Object) console, process (0) | 2017.08.29 |
[Chapter 5] Node.js 모듈화(Module) (0) | 2017.08.27 |