Scheduler ?

**스케줄러(Scheduler)**는 특정 시간이나 간격에 따라 작업을 자동으로 실행할 수 있게 해주는 기능입니다. 이는 주기적인 작업(예: 백업, 이메일 전송, 데이터 수집 등)을 자동으로 처리하는 데 유용하며, 다양한 스케줄링 방식이 존재합니다. Node.js에서 주로 사용되는 스케줄링 방법에는 setTimeout, setInterval, 그리고 타사 라이브러리(예: node-schedule, cron)를 이용한 방법이 있습니다.

기본 내장 스케줄러 setTimeout, setInterval

setTimeout

setTimeout은 특정 시간이 지난 후 한 번만 작업을 실행하는 함수입니다.

setTimeout(() => {
  console.log('3초 후에 이 메시지가 출력됩니다.');
}, 3000); // 3초 후에 실행

setInterval

setInterval은 일정한 시간 간격마다 반복적으로 작업을 실행하는 함수입니다.

clearInterval()을 사용하여 멈출 수 있습니다.

const intervalId = setInterval(() => {
  console.log('이 메시지는 5초마다 출력됩니다.');
}, 5000);

setTimeout(() => {
  clearInterval(intervalId);
  console.log('더 이상 반복되지 않습니다.');
}, 15000); // 15초 후에 멈춤

스케줄러 라이브러리

1 ) node-schedule 라이브러리

node-schedule은 크론(Cron) 스타일로 정교한 스케줄링 작업을 설정할 수 있는 라이브러리입니다. 복잡한 주기적인 작업을 쉽게 설정할 수 있도록 해줍니다.

node-schedule의 주요 기능과 특징