병렬 처리 제한
제한이 있는 클라이언트 측 대기열을 사용하고 각 작업을 일반 호환 요청으로 전송하세요. 이렇게 하면 서버 배치 엔드포인트를 가정하지 않고 부하를 제어할 수 있습니다.
서비스 배치 모드는 별도의 API 계약입니다. 계정 설정이나 사양에 경로와 본문이 게시된 후에만 사용하세요.
클라이언트가 제어하는 제한된 병렬 처리
typescript
async function runWithLimit(items, limit, work) {
const results = [];
for (let offset = 0; offset < items.length; offset += limit) {
const group = items.slice(offset, offset + limit);
results.push(...await Promise.all(group.map(work)));
}
return results;
}대기열 제어
- 내부 작업 ID는 한 번의 실행 내에서 결정론적이고 고유하게 만드세요.
- 크기가 지나치게 큰 집합을 관리 가능한 그룹으로 나누세요.
- 항목 하나의 실패와 전체 대기열의 실패를 구분하세요.
결과 수집
결과를 내부 ID와 연결하고 모든 작업의 상태를 보존하세요.
모든 작업을 자동으로 재시도하지 마세요. 멱등성을 확인한 후 일시적인 실패만 재시도하세요.