Closed leesungbin closed 1 year ago
Batch
SearchBatcher
DoiBatcher
Batcher
SEARCH_BATCH_SIZE
DOI_BATCH_SIZE
MAX_RETRY
process.env.ALLOW_UPDATE
개요
62 를 발전시킨 PR입니다.
작업사항
Batch
service가 추가되었습니다.SearchBatcher
와DoiBatcher
는Batcher
라는 abstract class 를 상속합니다.Batcher
에서는 Redis의 list를 queue로 사용합니다.SearchBatcher
는 키워드로 검색하기 위한 url을 queue에 담으며, 한번의 요청당 최대 1,000*SEARCH_BATCH_SIZE
개의 논문정보를 가져옵니다.DoiBatcher
는 doi로 검색하기 위한 url을 queue에 담으며, 한번의 요청당 최대 1 *DOI_BATCH_SIZE
개의 논문 정보를 가져옵니다.MAX_RETRY
만큼 시도할 때까지 큐의 맨 뒤로 담습니다.SEARCH_BATCH_SIZE
혹은DOI_BATCH_SIZE
보다 많은 검색요청이 들어오는 경우, 사용자에 의해 먼저보내진 요청요청이 나중에 오게될 수도 있습니다. (이 부분까지는 오버엔지니어링으로 생각했습니다.)process.env.ALLOW_UPDATE
는 default가 false이고, elasticsearch에 doi가 이미 존재하면 update(덮어쓰기)하지 않습니다.이후 작업이 필요한 내용
리뷰 요청사항