반응형
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
긴글 읽어주셔서 감사합니다!!!
오늘도 즐코하세요! :)
728x90
'Web' 카테고리의 다른 글
[ linux ] Log Rotate ( 로그 로테이트 ) 설정 하는 법 / 세팅하기 (0) | 2022.10.27 |
---|---|
[ vi Command ] vi 명령어 정리 모음 (0) | 2022.10.25 |
[ javascript ] encodeURI(), encodeURIComponent() 차이 (0) | 2022.08.02 |
알면 좋은 Git 명령어 [rebase, amend, cherry pick, reset, revert stash] (0) | 2022.06.30 |
Error: connect ETIMEDOUT 에러 (0) | 2022.06.02 |