Extremos síncronos y asíncronos

Desarrolladores del Espacio Económico Europeo (EEE)

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 una conexión abierta a la API de Route Optimization hasta que se procese la solicitud y se muestre una OptimizeToursResponse o un error.
  • BatchOptimizeTours es un método asíncrono que acepta URIs para uno o más mensajes OptimizeToursRequest y OptimizeToursResponse correspondientes, y muestra el nombre del recurso de una operación de larga duración (LRO) (REST, gRPC) que se usa para verificar la finalización por lotes. Las OptimizeToursRequest se procesan en segundo plano, por lo que los clientes mantienen conexiones abiertas a la API de Route Optimization solo el tiempo suficiente para enviar la BatchOptimizeToursRequest o llamar a GetOperation para verificar el estado de la LRO. BatchOptimizeTours lee solicitudes de Google Cloud Storage y escribe respuestas en él .

Casos de uso

OptimizeTours es conveniente para resolver solicitudes pequeñas y simples, o para solicitudes con tiempos de resolución de unos minutos o menos. Mantener conexiones de larga duración con la API de Route Optimization aumenta el riesgo de interrupción antes de que se pueda mostrar una solución.

BatchOptimizeTours puede controlar solicitudes más grandes y solicitudes con un tiempo de resolución más largo porque no requiere una conexión de larga duración con la API de Route Optimization.

Operaciones de larga duración

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

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

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

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

Siguiente: Realiza una solicitud a la API