기억 휘발 방지소

node-schedule을 사용한 작업 스케줄링 본문

Web/Node.js

node-schedule을 사용한 작업 스케줄링

choice91 2022. 3. 10. 23:31
728x90
반응형

특정시간에 어떤 작업을 자동으로 해준다면 아주 편리할 것이다.

그럴 때 사용하면 좋은 것이 node-schedule 이다.

 

사실 node-schedule 말고도 node-cron이라는 것이 있는데 단순히 두 모듈을 비교해봤을 때 다운로드 수가 많은 것을 사용해보기로 했다.

다운로드 수가 많다는 것은 그만큼 사람들에게 인기가 많다는 것이고 도움을 받을 수 있는 자료들이 더 많을 가능성이 높다고 생각했기 때문이다.

 

아래는 NPM Trend에서 두 모듈의 다운로드 수를 비교한 것이다.

 

설치

npm i node-schedule

 

node-schedule을 사용하는 여러가지 방법들

1. cron 스타일

cron은 유닉스 계열 컴퓨터 운영체제에서 시간 기반 잡 스케줄러이다. 소프트웨어 환경을 설정하고 관리하는 사람들은 작업을 고정된 시간, 날짜, 간격에 주기적으로 실행할 수 있도록 스케줄링하게 위해 cron을 사용한다. (출처: 위키백과)

 

cron 스타일로 다음과 같이 작성한다. cron 표현식은 다른글에 정리했다.

매일 23시 59분 59초에 실행되는 스케줄러이다.

const schedule = require("node-schedule");

const job = schedule.scheduleJob("59 59 23 * * ?", () => {
  console.log("Cron Scheduling!!");
});

 

2. Recurrence Rule 스타일

월~일 23시 55분 30초에 실행한다.

const schedule = require("node-schedule");

const rule = new schedule.RecurrenceRule();
rule.tz = "Asia/Seoul";
rule.dayOfWeek = [0, new schedule.Range(0, 6)];
rule.hour = 23;
rule.minute = 55;
rule.second = 30;

const job = schedule.scheduleJob(rule, () => {
  console.log("Recurrence Rule Scheduling!!");
});

 

부족한 글 읽어주셔서 감사합니다!

728x90
반응형