Repository navigation
Feat: relationship delta 업로드 job화 및 Swagger v1 alias 숨김 - #138
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
🧑🏻💻 PR 작업 내역 요약
Closes #137
Render 무료 티어 메모리 제한을 고려해 relationship delta 업로드를 비동기 job 방식으로 추가했습니다. 기존 sync 업로드 API는 유지하고, 새 job API는 업로드 파일을 private S3 staging prefix에 저장한 뒤 파일 단위로 stream 파싱/replace 저장합니다.
📋 변경 사항
POST /api/v2/admin/books/{bookId}/relationship-delta-jobs추가:202 Accepted와 job 정보를 반환하고 비동기 import를 시작합니다.GET /api/v2/admin/relationship-delta-jobs/{jobId}및/logs추가: job 상태와 로그를 조회합니다.private/books/{bookId}/analysis/relationship-delta-jobs/{runId}/input/{file}processing_job.artifactPath에는books/{bookId}/analysis/relationship-delta-jobs/{runId}를 저장합니다.processing_job,processing_job_log를 재사용하고 pipelineType은AI_ANALYSIS로 기록합니다.file-size-threshold: 0B를 명시해 요청 파일도 디스크 기반으로 다루도록 했습니다./api/v2/...대응 경로가 있는/api/...alias는 Swagger 문서에서 숨기도록 OpenAPI customizer를 추가했습니다.🔍 Code Review
normalizationJobExecutor를 공유합니다. queue capacity가 있어 일반적으로 한 작업씩 처리되어 Render 1GB RAM에서 동시 메모리 사용을 줄입니다.AdminService.replaceRelationshipDeltaPayload(..., false)를 호출합니다.POST /books/{bookId}/relationship-deltassync 계약은 깨지지 않도록 유지했습니다.✅ 검증
./gradlew.bat test📸 ScreenShot
N/A