근데 로직 실행중에 앞뒤가 바뀔수가 있잖아?

미래였던 애가 과거로 변해있는거지.


미래인애들은 예약을 걸고 (예약 안에 자기자신 삭제로직 있음)
과거인애들은 즉시작동시키고 디비에서 삭제하는 로직이야


이러면

미래라서 예약을 걸었는데 과거가 돼버려서

예약이 영원히 실행되지 않고

따라서 실행이 안되고 삭제도 되지 않는 문제가 생겨.


이걸 해결하기 위해,
한번 더 순회를 돌아서

과거인애들을 즉시작동시키고 디비에서 삭제시키는거야.


근데 이것도 문제가 있어.

그 사이에 미래였던 애가 과거로 변하는거야.
정상적이라면 과거로 변하는순간 예약이 작동해서 자기자신을 삭제시키니 순회가 안돼.

근데 문제는 삭제하는 도중일 경우야.

이 경우 이미 작업은 시작됐는데

과거인애들을 작동시키는 코드에 의해 중복실행이 일어남.


와 코드의 실행시간을 고려해야하는 코드 난이도 극악인데

이거 관련 버그는 어떻게 잡음?