[BE-37] 점핏·서핏 slice 페이지네이션 · 상세 요청 예산
작업 내용 (설계 의도)
변경 사항
점핏과 서핏 adapter를 slice contract로 전환한다. 목록 cursor와 누적 상세 요청 수를 전달해 목록·상세 예산 둘 다 넘지 않게 하고, company 식별에 실패한 개별 posting은 기존 정책대로 skip/count한다. detail cap으로 인해 회사명이 없는 결과가 cycle 전체 실패나 마감 판정으로 번지지 않게 한다.
의존
- BE-33
다이어그램
처리 흐름
sequenceDiagram participant A as Adapter participant L as List API participant D as Detail API A->>L: one bounded page loop remaining detail budget A->>D: posting detail end A-->>A: return next cursor
클래스 의존
flowchart LR JumpitAdapter --> JumpitPositionClient SurfitAdapter --> SurfitJobClient JumpitAdapter --> CollectionBudget SurfitAdapter --> CollectionBudget
테스트 케이스
- 점핏은 slice detail cap 이후 상세 HTTP를 더 호출하지 않고 continuation을 반환한다.
- 서핏은 목록 page cap에서 다음 cursor를 반환한다.
- 상세 한 건 실패는 detailFailureCount만 증가시키며 다음 source/page를 막지 않는다.
- 일일 detail budget이 이미 소진된 descriptor는 외부 상세 요청 없이 budget-exhausted 후보 결과를 만든다.