La API de Route Optimization expone dos métodos:
OptimizeTourses un método síncrono que devuelve una ruta optimizada en respuesta a unOptimizeToursRequest. Los clientes deben mantener una conexión abierta a la API de Route Optimization hasta que se procese la solicitud y se devuelva unOptimizeToursResponseo un error.BatchOptimizeTourses un método asíncrono que acepta URIs para uno o más mensajes deOptimizeToursRequestyOptimizeToursResponsecorrespondientes, 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 del lote. LosOptimizeToursRequestse procesan en segundo plano, por lo que los clientes mantienen conexiones abiertas con la API de Route Optimization solo el tiempo suficiente para enviar elBatchOptimizeToursRequesto llamar aGetOperationpara verificar el estado de la LRO.BatchOptimizeTourslee solicitudes de Google Cloud Storage y escribe respuestas en él.
Casos de uso
OptimizeTours es conveniente para resolver solicitudes pequeñas y simples, o 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 devolver 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 a la API de Route Optimization.
Operaciones de larga duración
Los LRO se leen desde la API de Route Optimization con el método GetOperation para verificar el estado de finalización de un lote. Los LRO incluyen una propiedad done que indica si se completó el procesamiento de todo el lote y un campo error que informa los errores encontrados durante el procesamiento. Si done es verdadero y no hay ningún error presente, 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 de BatchOptimizeTours es el siguiente:
- Envía un
BatchOptimizeToursRequesta la API de Route Optimization, que devuelve el nombre del recurso de una LRO. - Sondea
GetOperationcon el nombre del recurso de la LRO devuelto hasta que aparezcan las propiedadesdoneoerroren la respuesta de la LRO. - Si
donees verdadero y no hay ningún error, leeOptimizeToursResponsesde los URIs de Google Cloud Storage especificados en la solicitudBatchOptimizeTours. Sierrorestá presente, inspecciona el error, actualiza losOptimizeToursRequests según corresponda en Google Cloud Storage y vuelve a intentarlo según corresponda en función del error observado.
Puedes enviar solicitudes de OptimizeTours y BatchOptimizeTours de diversas maneras, ya sea desde la línea de comandos o con una biblioteca cliente.
Siguiente: Realiza una solicitud a la API