오늘 아침 나의 AI와 인간과 공존 사례
나:
redis queue 중에서 pending 상태에서 23시가 넘어가도 의미가 있는 것이 있나? 23시가 넘어가면 pending 상태에 있는 queue는 다 삭제해야 되는 것 아닐까? 조사하고 보고 해
이렇게 antigravity의 AI 에이전트한테 오더를 주고
저는 브레빌 커피머신으로 커피 한잔 만들어서 책상으로 다시 왔더니
gemini:
Redis Pending Queue 조사 결과 보고입니다.
1. 현황 분석
실시간 스냅샷 (
GET_ORDERBOOK_SNAPSHOT):
데이터 저장 시 처리 시점의 시간(
Utc::now())을 사용합니다.
23시에 낮 시간의 Pending 메시지를 처리하면, 장 종료 후의 데이터가 낮 시간 데이터인 것처럼 오염되어 저장됩니다. (유해함)
일별 데이터 (
BACKFILL,
MINUTE_DATA,
PROGRAM_TRADE):
scheduler.rs의 Reliability Check(20:20부터 20분 간격 실행)가 누락된 데이터를 체크하여 새로운 메시지를 다시 발행합니다.
기존 Pending 메시지는 실패한 과거 작업이며, 신규 메시지와 중복됩니다. (불필요함)
2. 결론
23시 이후 Pending 상태의 메시지는 모두 삭제해도 무방하며, 오히려 삭제하는 것이 데이터 무결성에 도움이 됩니다.
데이터 왜곡 방지: 장 마감 후 잘못된 타임스탬프로 스냅샷이 찍히는 것을 차단합니다.
중복 작업 제거: Reliability Check를 통해 최신 메시지로 이미 대체되었습니다.
3. 해결 제안
Scraper의 초기화 로직(
Pending Recovery)에 메시지 생성 시간을 체크하여 일정 시간(예: 3시간) 이상 경과한 Pending 메시지는 무시하거나 스킵하는 로직을 추가하는 것이 효율적입니다.
관련 로직 수정을 진행할까요?
나:
응 진행해