Guías

Configura un sondeo para un trabajo por lotes grande sin webhook

Algunas API devuelven un ID de trabajo para un lote grande y esperan que sondees o aguardes un webhook mientras se procesa en segundo plano. Esta no funciona así. Cada solicitud masiva, grande o pequeña, se responde de forma síncrona en la misma llamada, lo que cambia cómo deberías plantearte la ejecución de un trabajo muy grande.

Fragmentar en lugar de encolar

En lugar de enviar una matriz enorme y esperar, divide un trabajo grande en fragmentos de tamaño fijo, de entre unos cientos y unos pocos miles de elementos cada uno, y envíalos como una secuencia de solicitudes POST masivas normales. Como cada llamada devuelve sus resultados de inmediato, no hay ningún estado de trabajo que sondear, solo el siguiente fragmento que enviar.

POST /v1/forward
Content-Type: application/json

["address 1", "address 2", "... up to a few hundred items"]

Qué significa realmente "sondear" aquí

Lo más parecido a un sondeo en esta configuración es comprobar tus propias cabeceras de cuota entre fragmentos, en lugar de comprobar el estado de un trabajo. Lee X-Quota-Free-Remaining y X-Credits-Remaining cuando termine cada fragmento, y pausa el trabajo, o detenlo, si estás a punto de superar tu cuota diaria gratuita sin crédito prepago suficiente para continuar.

X-Quota-Free-Remaining: 340
X-Credits-Remaining: 12.50

Crear un ejecutor sencillo

Un pequeño script que recorre los fragmentos, envía cada uno, comprueba las cabeceras de la respuesta y continúa o se pausa según lo que ve es todo lo que necesita aquí un gran trabajo por lotes. No hay ningún endpoint aparte de estado del trabajo al que llamar, ya que el fragmento que acabas de enviar ya contiene todo lo que pediste.

Reanudar tras una pausa

Registra qué índice de fragmento has procesado correctamente hasta ahora, para que una pausa por el reinicio de la cuota o por una recarga de crédito pueda reanudarse exactamente donde se quedó, en lugar de volver a procesar fragmentos anteriores y gastar solicitudes dos veces.

Lo que cuesta

El coste es el mismo en ambos casos, una solicitud por elemento en todo el trabajo. La fragmentación solo cambia cómo gestionas el trabajo, no cuántas solicitudes usa en total.

Tratar un trabajo grande como una secuencia de fragmentos síncronos normales, en lugar de buscar un sistema de trabajos asíncronos que aquí no existe, lo mantiene todo sencillo. La documentación sobre límites de frecuencia explica las cabeceras de cuota en las que se basa este patrón.