並列処理に上限を設定
クライアント側で上限付きキューを使用し、各ジョブを通常の互換リクエストとして送信します。これにより、サーバーのバッチエンドポイントを前提にせず負荷を制御できます。
サービスのバッチモードは別個の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に結び付け、すべてのジョブのステータスを保持します。
すべてのジョブを自動的に再試行しないでください。べき等性を確認したうえで、一時的な障害だけを再試行します。