Paralelismo limitado
Usa una cola limitada del lado del cliente y envía cada trabajo mediante una solicitud compatible ordinaria. Así controlas la carga sin suponer que existe un endpoint por lotes en el servidor.
El modo por lotes de un servicio es un contrato de API independiente: usa su ruta y cuerpo únicamente después de que se publique en la configuración de la cuenta o en la especificación.
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;
}Controla la cola
- Haz que el ID interno del trabajo sea determinista y único dentro de una ejecución.
- Divide un conjunto demasiado grande en grupos manejables.
- Distingue el fallo de un elemento del fallo de toda la cola.
Recopila los resultados
Vincula un resultado con un ID interno y conserva el estado de cada trabajo.
No reintentes automáticamente todos los trabajos: reintenta solo fallos transitorios tras comprobar la idempotencia.