서버를 운영하다 보면 정기적으로 Job을 싱행해야 하는 경우가 생긴다. 이럴때 사용하는 것이 스케줄러이다.
예시
npmjs.com 으로 가서 express 검색 후 설치하고, node-schedule 역시 검색후 설치한다 ( npm i node-schedule )
express와 schedule을 변수에 불러오고. express 서버를 실행시키고, schedule.scheduleJob을 이용하여 스케줄을 설정한다. ' * * * * * * ' 은 매 초마다 이를 실행시키겠다는 의미이다.
터미널에서 node app으로 실행한 결과, 매 초마다 console.log에 날짜가 뜬다.
출처 : https://codegear.tistory.com/62
스케줄을 설정하는 법은 다음과 같습니다.
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │
│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)
│ │ │ │ └───── month (1 - 12)
│ │ │ └────────── day of month (1 - 31)
│ │ └─────────────── hour (0 - 23)
│ └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)
앞에서 부터 초, 분, 시, 일, 월, 요일의 순입니다.
지속적인 실행은 *를 사용하면됩니다.
특정 시간에 실행하는 것은 아래와 같이 작성하면됩니다.
- 매초 실행 : * * * * * *
- 매분 실행 : * * * * *
- 매분 0초에 실행 : 0 * * * * *
- 매분 10초에 실행 : 10 * * * * *
- 매시 1분 10초에 실행 : 10 1 * * * *
'Node.js' 카테고리의 다른 글
[Node.js] path 모듈 (0) | 2024.03.22 |
---|---|
[Node.js] express로 간단하게 html 파일 랜더링하기 (0) | 2024.03.19 |
[Node.js] Express 라우터를 모듈로 분리하기 (0) | 2024.03.18 |
[Node.js] Express 여러 미들웨어 사용 (1) | 2024.03.14 |
[Node.js] Express 애플리케이션 레벨 미들웨어 사용 (0) | 2024.03.14 |