배워서 남주는 개발자 :)

Web

[ javascript ] Node Cron 으로 스케줄러 설정하기

핏짜보이 2022. 8. 21. 20:44
반응형

Cron은 유닉스 계열 컴퓨터 운영 체제의 시간 기반 Job 스케줄러입니다.

소프트웨어 환경을 설정하고 관리하는 사람들은 작업을 고정된 시간, 날짜, 간격에 주기적으로 실행할 수 있도록 스케줄링하기 위해 cron을 사용합니다.

 

설치

npm install --save node-cron

 

실행

Node.js 서버가 기본으로 실행하는 파일(app.js 또는 index.js)에 node-cron 모듈을 불러와서 사용하면 된다.

스케줄러에 의해 실행할 작업콜백 함수 안에 작성하면 된다.

아래에 콘솔로그를 출력하는 함수를 작성했다.

 

const cron = require('node-cron');

cron.schedule('* * * * *', function(){
  console.log('node-cron이 실행되었습니다.');
});


//cron.schedule(‘* * * * *’)    
//               분, 시, 일, 월, 요일 -> 파라미터 5개 일때
//  초(optional), 분, 시, 일, 월, 요일 -> 파라미터 6개 일때

[실행 주기]

[Allowed Values]

Field Value
Second 0-59
Minute 0-59
Hour 0-23
Day of Month 1-31
Month 1-12 (or Names)
Day of Week 0-7 (or Names, 0 or 7 are Sunday)

 

[node-cron 실행 주기 설정 예제]

1. Using multiples values - 콤마(,)를 사용해 다중 값을 사용할 수 있습니다.

// 다중 값 사용
var cron = require('node-cron');
 
cron.schedule('1,2,4,5 * * * *', () => {
  console.log('매 1, 2, 4, 5분 마다 실행');
});

 

2. Using range - 값의 범위를 사용할 수 있습니다.

// 범위 값 사용
var cron = require('node-cron');
 
cron.schedule('1-5 * * * *', () => {
  console.log('매 1-5분 마다 실행');
});

 

3. Using step values - 숫자 범위와 '/' 다음에 숫자와 함께 사용할 수 있습니다.

// 숫자 범위 + / + 숫자
var cron = require('node-cron');
 
cron.schedule('1-10/2 * * * *', () => {
  console.log('매 2,4,6,8,10분 마다 실행');
});

//숫자 범위 대신 '*'가 와도 상관 없음
// * + / + 숫자
var cron = require('node-cron');
 
cron.schedule('*/2 * * * *', () => {
  console.log('매 2분 마다 실행');
});

 

4. Using names - Month와 Week day 항목에는 이름이나 약어를 사용할 수 있습니다.

// 이름 사용
var cron = require('node-cron');
 
cron.schedule('* * * January,September Sunday', () => {
  console.log('1월과 9월의 일요일 마다 실행');
});

// 약어 사용
var cron = require('node-cron');
 
cron.schedule('* * * Jan,Sep Sun', () => {
  console.log('1월과 9월의 일요일 마다 실행');
});

 

 

**좀더 자세하고 정확한 내용은 NPM : node-cron 페이지 (아래 링크 참조)를 확인해주세요! :)

https://www.npmjs.com/package/node-cron

 

node-cron

A simple cron-like task scheduler for Node.js. Latest version: 3.0.2, last published: 6 days ago. Start using node-cron in your project by running `npm i node-cron`. There are 776 other projects in the npm registry using node-cron.

www.npmjs.com

 

긴글 읽어주셔서 감사합니다!!!

오늘도 즐코하세요! :)

728x90