정해진 기준날짜에 함수를 실행하고 싶습니다. 이런 경우 setInterval써서 구현 괜찮을까요?

정해진 기준날짜에 함수를 실행하고 싶습니다. 이런 경우 setInterval써서 구현 괜찮을까요?

QA

정해진 기준날짜에 함수를 실행하고 싶습니다. 이런 경우 setInterval써서 구현 괜찮을까요?

본문

제가 만든 웹 페이지에서 예를 들어 기준 날짜가 있으면 기준 날짜 10일 전에 함수를 동작 시키고 싶습니다.

기준 날짜가 2023-09-11 이면 2023-09-01에 함수를 동작 시키고 싶은데

실시간으로 저 날짜를 계속 해서 계산을 해야할텐데

그럴 경우 setInterval 사용해서 구현해도 괜찮을까요??

제가 생각한건 날짜를 구하고 계산하는 함수를 만들어서 셋인터벌로 1초마다 함수 실행

그리고 조건에 맞으면 함수동작 이런식으로 구현을 할까 했는데

1초마다 함수를 실행하면 과부하가 없을까요???

날짜를 구하고 계산하는 함수는 대충

현재 날짜를 가져오고 기준 날짜를 디비에서 가져와 기준 날짜 -10을 해 비교할 날짜를 만들어주고 현재 날짜와 비교

그리고 현재 날짜 비교날짜(-10일) 같으면 동작 실행 이런식으로 구현하려고 하는데 1초마다 디비에서 값을 가져오면 부하가 날 거 같기도

하고 이게 좋은 방법인지 모르겠네요... 다른 더 좋은 방법이 있을까요?

이 질문에 댓글 쓰기 :

답변 3

서버단에서 컨트롤이 가능하면 굳이 이런 고민 하실필요없이 크론으로 돌리면됩니다.

웹호스팅에서 구현하려면 완벽한 실시간은 어렵습니다. 누군가 접속일 해야하기 때문이죠.

그게 사람이든 봇이던간에요.

 

바꿔 말하면 아무도 접속하지 않은 웹은 계속 갱신할 필요가 없습니다.

그래서 누군가 접근하면 갱신하도록 짜되,  update 시간을 기록해두고 동시에 많은 사람이 접속을 해도

한번만 처리하게 하면됩니다.

 

 

서버에서 작업을 실행하면 클라이언트 측에서 지속적으로 실행하는 것보다 효율적일 수 있습니다.


그러나  데이터를 가져오고 날짜 계산을 1초마다 수행하면 데이터베이스와 서버에 부하를 주며 효율적이 않을수 있다고 봅니다.

음 생각해보니 자바 스크립트(클라이언트측)로 셋인터벌을 돌린다 한들 제가 만든 웹페이지에 아무도 오지 않는다면
동작을 안하는게 맞는거죠??? 그럼 어떻게 구현하는게 좋을지 모르겠네요... 제가 만든 웹페이지에 아무도 안와도 조건에 부합하면 함수를 실행하고 싶은데... 음 서버에서 cron?으로 실행시키는게 맞는건지..

네 맞습니다. 서버측에서 작업을 처리 하는게 좋죠, 접속자 상관없이 동작하므로,  PHP, Python, Node.js cron 등 서버측 스크립트 도구를 이용하여 구현하는게 좋습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT