Prácticas recomendadas y limitaciones

Ten en cuenta estos lineamientos cuando uses BatchJobService:

  • Para una mejor capacidad de procesamiento, es preferible usar menos trabajos más grandes que muchos trabajos más pequeños.
  • Se recomienda no agregar más de 1,000 operaciones por AddBatchJobOperationsRequest y usar sequence_token para subir el resto de las operaciones al mismo trabajo. Según el contenido de las operaciones, demasiadas operaciones en una misma AddBatchJobOperationsRequest podrían generar un error REQUEST_TOO_LARGE. Para controlar este error, puedes reducir la cantidad de operaciones y reintentar AddBatchJobOperationsRequest.
  • Cuando envíes varios trabajos simultáneos para la misma cuenta, intenta reducir la probabilidad de que funcionen en los mismos objetos al mismo tiempo, a la vez que mantienes tamaños de trabajo grandes. Muchos trabajos sin terminar (con el estado RUNNING) que intentan mutar el mismo conjunto de objetos pueden generar condiciones similares a interbloqueos, lo que genera una demora severa y hasta fallas en el trabajo.
  • No envíes varias operaciones que muten el mismo objeto en el mismo trabajo, ya que el resultado puede ser impredecible.
  • Para obtener una mejor capacidad de procesamiento, ordena las operaciones subidas por tipo de operación. Por ejemplo, si tu trabajo contiene operaciones para agregar campañas, grupos de anuncios y criterios de grupos de anuncios, ordena las operaciones de tu carga a fin de que todas las operaciones de campañas sean primero, seguidas de todas las operaciones de grupos de anuncios y, por último, todas las operaciones de criterios de grupos de anuncios.
  • No sondees el estado del trabajo con demasiada frecuencia, ya que puedes correr el riesgo de alcanzar errores de límite de frecuencia.
  • No recuperar más de 1,000 resultados por página. Es posible que los resultados que se muestran por página se reduzcan a un conjunto más pequeño en el lado del servidor debido a la carga o a otros factores.
  • El orden de los resultados será el mismo que el de la carga para el procesamiento por lotes.

Limitaciones

  • Cada BatchJob admite hasta un millón de operaciones.
  • Cada cuenta puede tener hasta 100 trabajos activos o pendientes al mismo tiempo.
  • Los trabajos pendientes anteriores a 7 días se quitan automáticamente.