반응형
npm i --save node-schedule
const schedule = require("node-schedule");
const job01 = schedule.scheduleJob("10 * * * * *", () => {
console.log("[job01] 매 분 10초마다 실행 > " + new Date());
});
const job02 = schedule.scheduleJob("*/10 * * * * *", () => {
console.log("[job02] 매 10초마다 실행 > " + new Date());
});
node를 사용하다 보면, 특정 시간마다 반복적으로 작업되도록 기능을 추가하고 싶을 때가 있습니다. 이 경우 node-schedule를 활용하면 가능합니다.
먼저 아래와 같이 node-schedule API를 추가해 줍니다.
$> npm i --save node-schedule
그 후 원하는 파일에서 아래와 같이 불러와 줍니다.
const schedule = require("node-schedule");
사용은 scheduleJob을 통하여 가능합니다.
schedule.scheduleJob(반복조건, 함수);
반복 조건은 아래와 같습니다.
* | * | * | * | * | * |
초 | 분 | 시 | 일 | 월 | 주차 |
구분 | 표기 내용 |
초 | 0 - 59. 매 분 n초에 반복합니다. Optional |
분 | 0 - 59. 매 시간 n분에 반복합니다. |
시 | 0 - 23. 매 일 n시에 반복합니다. |
일 | 1 - 31. 매 월 n일에 반복합니다. |
월 | 1 - 12. 매 년 n월에 반복합니다. |
주차 | 0 - 7. 매 주 n요일에 반복합니다. (0과 7은 일요일입니다.) |
표기방법 | 표기 내용 |
* | 모든 값을 의미합니다. ex) minute 자리에 * 사용된 경우 → 매 분마다, house 자리에 * 사용 된 경우 → 매 시간 마다 반복합니다. |
? | 해당 스케쥴링이 시작된 시점의 값 ex) 0 ? ? * * * → 12시 30분에 시작된 경우 → 매 일 12시 30분 0초 마다 반복합니다. |
/ | 간격을 의미합니다. ex) 0 10 */5 * * * → 5시간 마다 10분 0초 에 반복합니다. |
- | 기간 범위를 의미합니다. ex) 0 */2 9-18 * * * → 매일 9시부터 18시까지 2시간 마다 반복합니다. |
위 결과를 다시 보면
job01의 결과로 매 분 10초마다 반복됨을 확인할 수 있고
job02의 결과로 매 10초마다 반복됨을 확인 할 수 있습니다.
반응형
'개발 창고 > NodeJS' 카테고리의 다른 글
[Javascript] split - 정수 배열 만들기 (0) | 2023.01.12 |
---|---|
[Mail] nodemailer - 메일 발송하기 (1) | 2022.12.30 |
PDF 이미지 추출하기 (0) | 2022.11.28 |
[React] Component에서 useParams 사용하기 (0) | 2022.11.07 |
[React] String to Html 렌더링 (0) | 2022.11.07 |