La API de Route Optimization expone dos métodos:
OptimizeTours
es un método síncrono que muestra una ruta optimizada en respuesta a unOptimizeToursRequest
. Los clientes deben mantener una conexión abierta a la API de Route Optimization hasta que se procesa la solicitud y se muestra unaOptimizeToursResponse
o un error.BatchOptimizeTours
es un método asíncrono que acepta URI para uno o más mensajesOptimizeToursRequest
y los mensajesOptimizeToursResponse
correspondientes, lo que muestra el nombre del recurso de una operación de larga duración (LRO) (REST, gRPC) que se usa para verificar la finalización del lote. LosOptimizeToursRequest
se procesan en segundo plano, de modo que los clientes mantengan una conexión abierta a la API de optimización de rutas solo durante el tiempo suficiente para enviar elBatchOptimizeToursRequest
o llamar aGetOperation
para verificar el estado de LRO.BatchOptimizeTours
lee solicitudes y escribe 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. Mantener conexiones de larga duración a la API de Route Optimization aumenta el riesgo de interrupción antes de que se pueda mostrar una solución.
BatchOptimizeTours
puede manejar 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 a la API de optimización de rutas.
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 campo error
que informa los errores detectados durante el procesamiento. Si done
es verdadero y no hay error
, el lote se completó de forma correcta. 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:
- Envía un
BatchOptimizeToursRequest
a la API de Route Optimization, que muestra el nombre de recurso de una LRO. - Sondea
GetOperation
con el nombre del recurso de LRO que se muestra hasta que las propiedadesdone
oerror
aparezcan en la respuesta de la LRO. - Si
done
es verdadero y no hay ningún error, leeOptimizeToursResponses
de los URI de Google Cloud Storage especificados en la solicitudBatchOptimizeTours
. Sierror
está presente, inspecciona el error, actualiza losOptimizeToursRequest
según corresponda en Google Cloud Storage y vuelve a intentarlo según corresponda 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.