죠니랑 차트 만들기 - 3 :node 스케줄러 사용하기
앗뇽앗뇽 나는 죠니야~ 🙋🏻♀️
안녕하세요 여러분! 즐거운 명절 되셨나요?
저는 제 추석 연휴 9일을,,,, 도대체 누가 훔쳐 갔는지 범인을 찾고 있습니다 !🧐
튼 저는 퇼워라수목금퇼 잘 쉬구 월요일 출근 잘 하구 급한거 처리하고 또 시간이 되어 포스팅을 해볼까해여,,,ㅎㅅㅎ
월루는 이렇게 하는거 아니겠습니까 여러분 !! 심지어 오늘 회식있어서,,, 늦게까지 일해야 해여,,,
튼 각설하고 시작해보겠습니다 !
저는 총 3개의 서버를 두겠다고 말씀드렸는데요.
- 스케줄러 서버
- API 서버
- 프론트 서버
그 중 첫번째 서버 구축을 함께 해보도록 하겠습니다.
1. Scheduler Server🌰
스케줄러 서버는 일정 시간의 간격을 두면서 그 간격에 맞추어 특정 일을 반복 시키기 위해서 사용합니다.
저는 npm을 이용하여 다운을 받을거에요.
VSC를 이용하신다면 터미널을 열고 아니면 cmd나 iterm을 열고 폴더를 만들어 줄게요.
저는 스케줄러니까 간단하게 스케줄러라고 짓겠습니다.
$ mkdir scheduler
만들어졌나요 ? 그럼 그 폴더 안으로 들어가 보겠습니다.
$ cd scheduler
들어가졌나요 ? 역시 똑똑하군요 !!
시작이 절반이니까 우리 벌써 50%나 했어요~~
Node Schedule 다운
다음은 스케줄러를 가지고 와 볼게요.
스케줄러 폴더 안에서
$ npm install node-schedule
을 쳐 볼게요.
그러면
이렇게 뜨면서 node-modules라는 폴더와 package-lock.json이라는 파일이 생겨있습니다.
다들 확인 하셨나요 ?
scheduler.js 생성
scheduler.js라는 파일을 만들겠습니다.
아까 npm install을 이용하여 node-schedule을 다운받았던거 생각나시나요?
이제 그 아이를 가지고 와서 써보도록 하겠습니다.
노드 스케줄은 간격보다는 시간을 기준으로 스케줄링을 하고있습니다. 인터벌 설정이 훨씬 더 쉽고 cron과 달리 Window지원을 제공합니다.
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │
│ │ │ │ │ └ 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)
크론 형식의 스타일을 가지고 있지만 가장 가까운 평일이나 몇번째 요일같은 것들은 지원하지 않고 있습니다.
더 자세한 건 공식사이트를 확인해주세요 !
이제 우리는 1초에 한번씩 'hehe :)'를 출력해보겠습니다.
const schedule = require("node-schedule");
schedule.scheduleJob("*/1 * * * * *", () => {
console.log("hehe :)");
});
이렇게 코드를 작성해봅니다.
Package.json 설정
다음 저는 터미널에
$ npm init
을 하겠습니다.
그냥 엔터를 누르세요.막 누르다보면
Is this OK?라는 질문에 마지막 엔터를 누르면 package.json이 생깁니다.
{
"name": "scheduler",
"version": "1.0.0",
"description": "",
"main": "scheduler.js",
"dependencies": {
"node-schedule": "^1.3.2"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
저는 이렇게 생겼네요ㅎㅎ
아마 다들 비슷하시겠죠?
그렇다면 이제 "scripts"에 "test"밑에 코드 한 줄을 추가하겠습니다.
{
"name": "scheduler",
"version": "1.0.0",
"description": "",
"main": "scheduler.js",
"dependencies": {
"node-schedule": "^1.3.2"
},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "DEBUG=crypto-test node scheduler.js"
},
"author": "",
"license": "ISC"
}
start줄을 잘 치셨나요 ?
그렇다면 아래 코드를 쳐볼게요.
$ npm start
1초에 한번씩 'hehe :)'가 잘 뜨고 있나요?
그렇다면 대성공 입니다!
오늘도 열코 즐코하세여~
그럼 20000!
Author And Source
이 문제에 관하여(죠니랑 차트 만들기 - 3 :node 스케줄러 사용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jiwonish/죠니랑-차트-만들기-3저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)