문제 - API 응답 시간 1분
입력값에 따라서 기존 학습 모델이 존재하면 학습 모델을 통해 예측값에 따라 응답값을 반환하는 API를 설계하였습니다. 그러나 기존 학습 모델이 없는 입력값의 경우 모델을 학습하고 예측값을 반환하게 되는데 모델을 학습하고 예측값을 반환하는데 1분이나 소요되어 프론트 개발자가 1분이라는 시간동안 문제가 발생한 것인지, 정상적으로 작동하고 있는 것인지 알 수 없다는 문제를 제기하였습니다.
해결 - 선 응답 후 Threading 모듈 적용
이 문제를 해결하기 위해서 요청된 파라미터에 따라 학습이 필요할 경우 요청자에게는 -1을 먼저 응답하고, 입력값에 대한 모델 학습은 Thread 처리를 통해 백그라운드에서 학습하도록 API 설계하였습니다. API의 흐름은 다음과 같습니다.
요청온 파라미터값의 학습된 모델이
- 있는 경우 → 학습 모델을 통해 예측값 반환
- 없는 경우 → Threading 모듈을 통한 모델 학습 → '학습중' 이라는 약속된 값(-1) 반환 → Thread 종료 (모델 학습)
결과
이번 문제를 직면하면서 내가 배포한 API가 단순히 기능을 구현하는데 그치는 것이 아니라 API를 요청하는 사용자들에게 친절한 응답이 되도록 설계하는 것이 중요하다는 것을 깨달을 수 있었습니다. 또한 프론트엔드 개발자와 소통하면서 협업하는 것에 재미를 느낄 수 있었습니다
'개발 > SmileStock 😃📈' 카테고리의 다른 글
[개발 이슈] 성능은 유지하며 모델 학습 시간은 단축하다 (0) | 2024.05.01 |
---|---|
[개발 이슈] 도커 이미지로 빌드하며 마주한 이슈들 (0) | 2024.05.01 |
[프로젝트 회고] 소통에 나이 차이는 중요하지 않다 (0) | 2024.05.01 |
[프로젝트 회고] 주식 종가 예측 개발 회고 (0) | 2024.04.26 |
[SmileStock] 서비스 흐름 영상 (0) | 2024.04.24 |