Node.js
[Node.js] Express 서버에 스케줄러 만들기
MY_STUDY
2024. 3. 18. 12:48
서버를 운영하다 보면 정기적으로 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 * * * *