13-6 [BE] [논문 상세 - 논문 정보] Request batch 작업 #82
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
개요
작업사항
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(덮어쓰기)하지 않습니다.이후 작업이 필요한 내용
리뷰 요청사항