限制平行處理數
使用有上限的用戶端佇列,並透過一般相容請求傳送每項工作。這可在不假設伺服器具有批次端點的情況下控制負載。
服務批次模式屬於獨立的 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,並保留每項工作的狀態。
請勿自動重試所有工作;確認冪等性後,只重試暫時性失敗。