본문 바로가기

Backend/DB

차트 데이터 볼 때 유의사항 +) Cron이란?

Figma 화면으로 설계된 서비스의 페이지에 차트 데이터가 삽입되어 있었다. 

 

처음의 나의 사고과정은 이랬다. 

1) chart.js 같은걸로 따로 차트를 만들어줘서 사용자단에서 보여줘야 하는가? 

2) 차트 데이터를 긁어오는 API를 이용해서 프론트 단에서 보여줘야 하는가? 와 같은 생각을 했었다. 

 

하지만 ERD를 설계하고 피드백을 받고보니 아예 다른 접근법이었다. 

1) 차트에서 x,y축 데이터를 본다. 

2) x축의 기준이 무엇인가? -> 날짜이다. 

3) 날짜에서도 1분..N분 주기로 데이터를 긁어오지 않느냐. -> 맞습니다 

4) 그럼 그거에 따라 Nest.js에서 cron을 이용하여 주기별로 데이터를 긁어오는 동작을 해야 하지 않겠냐 였다. 

 

결론적으로, 주기별(1분,10분,N분..)자동적으로 데이터를 끌고 와서 그걸 DB에 저장해야한다고 이해했다. 

 

 

이를 구현할때는 Nest.js의 Cron을 활용하라는 피드백이 있었다. 

Cron이라 함은 작업을 고정된 시간,날짜,간격에 주기적으로 실행하는데 사용되는 표준 Unix 유틸리티이다. 

Nest.js는 node-cron 패키지를 사용함으로써 cron job이 지원된다.

-> SchedulerRegistry API를 통한 dynamic 방식으로 cron을 사용할 수 있다. 

 

참고 https://velog.io/@jojoo/NestJS-Batch-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0-with-cron