본문 바로가기
Q&A해결2026년 7월 23일1분 읽기

setInterval로 도는 배치가 이전 게 안 끝났는데 다음 게 또 시작됩니다

j
job_taeho
조회 432댓글 4

외부 API에서 데이터 긁어와서 저장하는 배치를 setInterval로 1분마다 돌리고 있어요. 평소엔 몇 초면 끝나는데, 외부 API가 느려지거나 데이터가 많은 날엔 한 번 도는 데 2~3분씩 걸립니다.

그러면 이전 실행이 아직 안 끝났는데 다음 1분 tick이 와서 또 실행되고, 그게 쌓이면서 같은 데이터를 중복 저장하거나 외부 API rate limit에 걸려버려요.

setInterval(async () => {
  await syncFromExternal() // 오래 걸리면 겹침
}, 60_000)

겹치지 않게, 이전 게 완전히 끝난 다음에 다음 걸 돌리려면 어떻게 해야 하나요?

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록