Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- bfs
- 문자열
- 프로그래머스
- IntelliJ
- 이직
- 도커
- spring
- HTTP
- HashMap
- dfs
- 스타트업
- 자료구조
- docker
- 명령어
- 인텔리제이
- Java
- 백엔드
- Linux
- 해결
- 주니어
- 개발자
- spring boot
- 스프링
- 코딩테스트
- 스프링부트
- 구름LEVEL
- 배열
- 구현
- 스프링 부트
- 해시맵
Archives
- Today
- Total
마이의 개발 블로그
[NodeJS] 서버에 스케줄러 설정하기 (node-cron 모듈) 본문
반응형
설치 방법
1. 터미널에서 아래 명령어 입력하여 node-cron 모듈 설치
npm install node-cron
2. cron 모듈 불러오기
const cron = require("node-cron");
node-cron 주요 문법 설명
- cron.schedule('시간', 실행할 함수, 옵션값) 을 사용하여 스케줄러를 생성할 수 있다.
- task.start(), task.stop() 메서드를 사용하여 스케쥴러를 임의로 시작하거나 종료시킬 수 있다.
- task.destroy() 메서드를 사용하여 스케쥴러를 종료시킬 수 있다.
- cron.validate('시간') 메서드를 통해 시간 설정값이 유효한지를 판별할 수 있다. (Boolean 반환)
/*
1. 시간 인자는 순서대로 '초(옵션) 분 시 일 월 요일'을 의미한다.
2. 초는 옵션이고, 나머지 다섯 개의 인자는 필수값이다.
3. 각각 0-59, 0-59, 0-23, 1-31, 1-12(또는 이름), 0-7(또는 이름) 으로 표기하여 지정할 수 있다.
4. '*'를 사용하는 경우 모든 범위를 포함한다.
5. 범위지정시 1-5처럼 표기
*/
cron.schedule('* * * * * *'); //매 초마다 실행
cron.schedule('* * * * *'); //매 분마다 실행
cron.schedule('*/3 * * * *'); //매 20분(60 / 3)마다 실행
cron.schedule('1-5 * * * *'); //모든 시간대의 1-5분에 실행
cron.schedule('*/6 50 15 20 2 *') //2월 20일 15시 50분의 매 10초(60/6)마다 실행
//2.20(월) 15시 50분의 매 10초마다 '실행' 문구를 출력하도록 스케줄러를 생성함
const task = cron.schedule('*/6 50 15 20 2 1', () => {
console.log('실행');
}, {
scheduled: false, //false인 경우 start() 메서드를 사용해야 실행된다. 기본값은 true.
timezone: 'Asia/Seoul' //시간대 기본값은 로컬타임임. 필요 시 지정.
});
반응형
'개발지식 > Node.js' 카테고리의 다른 글
[NodeJS] 엑셀 업로드 기능의 구현 (xlsx 모듈 활용) (0) | 2022.11.08 |
---|
Comments