kookmin-sw / capstone-2023-08

capstone-2023-08 created by GitHub Classroom
1 stars 4 forks source link

Crawler 모듈 수정 #56

Closed wynter122 closed 1 year ago

wynter122 commented 1 year ago

회의결과, 상품 수집시 분류모델을 추가하기로 하여 랭킹별 제공하는 기능을 삭제하기로 결정했습니다. 따라서, Goods 모델이 가지고 있는 정보는 4가지가 되겠습니다.

기존에 구성했던 컬럼 중, ranking_num, is_latest 가 삭제되었습니다.

작동방식

  1. 무신사페이지에서 상의 90개를 수집하여 metadata 추출
  2. id 를 key 값으로 하여 DB 테이블의 PK 및 s3 파일명으로 사용
  3. metadata를 json 으로 처리하여 server 에 post 입니다.

테스트 결과

localhost 에서 동작을 테스트한 결과입니다. 정상적으로 서버가 응답합니다.

image

DB 쿼리 결과입니다. image

s3 에도 다음과 같이 파일이 저장됩니다.

image

서버단의 api 개발 #57 과 함께 개발이 이뤄졌으며 approve 되는대로 lambda 및 ec2 에 반영할 예정입니다.

wynter122 commented 1 year ago

Crawler 에 분류 모델을 추가하게 되면서 torch 라이브러리 크기 문제로인해 lambda 상에서 동작할 수 없게 되었습니다. 따라서, 현재 장고 서버가 돌아가는 ec2 와 별개의 인스턴스에서 크롤러가 동작하고 있습니다.

크롤러를 굳이 따로 둔 이유는, 저희가 데이터는 어느정도 모으기 시작해야하는데, 데이터를 모으기 위해 서버 인스턴스를 계속 켜둘 수 없기 때문입니다. 크롤러가 배치된 인스턴스는 lambda 를 트리거로 동작하게 하여 일주일에 하루 1시간정도 인스턴스를 켜고 끄도록 할 예정입니다. 해당 부분은 옷 리스트 페이지, 상세페이지 api 작업이 끝나는대로 파이프라인을 만들 예정입니다.

따라서, Crawler 또한 별개의 브랜치로 두고, 마스터에는 병합하지 않아 PR 닫습니다. 또한, 이번 코드에서 Crawler 브랜치에는 Crawler 코드만 남겨두고 모두 지웠습니다. (Backend 도 마찬가지로 server만 남기고 지웠습니다.)

추가 개발이 필요한 부분

  1. 37 에서 논의중인 추가 데이터 수집 및 모델 수정 (현영)

  2. 현재 이미지에 따라 에러가 발생. 임시방편으로 try~except 처리해두었지만 디테일한 에러 핸들링 필요 (돈혁)
  3. 필터링되어 수집된 데이터를 확인하여 모델 성능 높일 수 있으면 높이기 (돈혁) -> 2, 3번은 시스템이 전체적으로 동작한 이후에 천천히 작업해도 될 것 같습니다.