Today I Learned
날짜
2024년 12월 9일 월요일
내용
빠르게 대기열을 처리하자
아임리포트가 진행하는 매일 아침 정기업데이트가 심각하게 오래 걸린다. 이대로는 유저가 사용할 리가 없으니 최대한 줄이는 작업이 필요하다. 현재는 대기열 시스템을 만들었으나 약간의 로직상 구멍이 있다. 로우데이터 처리 로직이 끝나야만 대기열을 추적한다는 것.. 대기열 시스템이 존재하는 것은 네이버 API 사용 제한으로 인한 것이니 전체 로직중 가장 처음인 네이버 처리만 끝나면 대기열에 있는 로우데이터를 꺼내와 동시에 처리해도 무방하다. 이 부분을 처리할 방법이 떠올랐는데..
- 서버에서 로우데이터 처리를 위한 ECS Task 개시
- ECS Task에서 로우데이터를 처리하다가 네이버 API 사용을 완료하면, 서버에 요청을 보냄
- 서버에서 요청을 받으면 대기열에 있는 것을 찾아 이 로우데이터를 처리할 ECS Task를 개시.
를 반복하게 되었다.
로우 데이터 하나의 처리 시간은 크게 변함이 없으나, 여러 개가 동시에 이뤄지는 매일 아침 정기 업데이트에선 큰 효과를 발휘할 듯 하다!
회고
왜 처음부터 이 생각을 못할까 나는?