Comparación de OptimizeTours y BatchOptimizeTours

La API de Route Optimization expone dos métodos:

  • OptimizeTours es un método síncrono que muestra una ruta optimizada en respuesta a una OptimizeToursRequest. Los clientes deben mantener un a la API de Route Optimization hasta que la solicitud se procesa y se muestra una OptimizeToursResponse o un error.
  • BatchOptimizeTours es un método asíncrono que acepta URIs para un o más OptimizeToursRequest y OptimizeToursResponse correspondiente mensajes, que muestran el nombre del recurso de una operación de larga duración (LRO) (REST, gRPC) que se usa para verificar la finalización de los lotes. Las OptimizeToursRequest se procesan en segundo plano para que los clientes mantengan una conexión abierta a la API de Route Optimization solo el tiempo suficiente para enviar el BatchOptimizeToursRequest o para llamar al GetOperation para consultar la LRO estado. BatchOptimizeTours lee las solicitudes y escribe las respuestas en Google Cloud Storage.

Casos de uso

OptimizeTours es conveniente para resolver solicitudes pequeñas y simples, o para solicitudes con tiempos de resolución de unos pocos minutos o menos. Mantenimiento de datos de larga duración conexiones a la API de Route Optimization aumenta el riesgo de interrupción antes y se puede devolver una solución.

BatchOptimizeTours puede manejar solicitudes más grandes y solicitudes con una resolución más larga. tiempo porque no requiere una conexión de larga duración a la ruta Optimización de la API.

Operaciones de larga duración

Las LRO se leen desde la API de Route Optimization con el método GetOperation para verificar el estado de finalización de un lote. Las LRO incluyen una propiedad done que indica si se completó el procesamiento de todo el lote y un error campo que informa los errores detectados durante el procesamiento. Si done es verdadero y no hay error, el lote se completó correctamente. La presencia de una error indica que no se pudo procesar una parte o la totalidad del lote.

El ciclo de vida típico de una solicitud BatchOptimizeTours es el siguiente:

  1. Envía un BatchOptimizeToursRequest a la API de Route Optimization, que muestra el nombre de recurso de una LRO.
  2. Sondea GetOperation con el nombre del recurso de LRO que se muestra hasta done o Las propiedades de error aparecen en la respuesta de la LRO.
  3. Si done es verdadero y no hay ningún error, lee OptimizeToursResponses. a partir de los URI de Google Cloud Storage especificados en el archivo BatchOptimizeTours para cada solicitud. Si error está presente, inspecciona el error y actualiza el OptimizeToursRequest según corresponda en Google Cloud Storage y vuelve a intentarlo como apropiado según el error observado.

Puedes enviar solicitudes OptimizeTours y BatchOptimizeTours en una variedad de maneras, ya sea desde la línea de comandos o con una biblioteca cliente.

Siguiente: Realiza una solicitud a la API