L'API Route Optimization propose deux méthodes:
OptimizeTours
est une méthode synchrone qui renvoie une route optimisée en réponse à unOptimizeToursRequest
. Les clients doivent conserver une connexion ouverte à l'API Route Optimization jusqu'à ce que la requête soit traitée et qu'une erreurOptimizeToursResponse
ou une erreur soient renvoyées.BatchOptimizeTours
est une méthode asynchrone qui accepte les URI pour un ou plusieursOptimizeToursRequest
et les messagesOptimizeToursResponse
correspondants. Elle renvoie le nom de ressource d'une opération de longue durée (LRO) (REST, gRPC) qui permet de vérifier la fin du traitement par lot. LesOptimizeToursRequest
sont traités en arrière-plan, de sorte que les clients conservent une connexion ouverte à l'API Optimization Route seulement assez longtemps pour envoyer leBatchOptimizeToursRequest
ou pour vérifier l'état deGetOperation
.BatchOptimizeTours
lit les requêtes et écrit des réponses dans Google Cloud Storage.
Cas d'utilisation
OptimizeTours
est pratique pour résoudre des requêtes simples et de petite taille, ou des requêtes dont le temps de résolution ne dépasse pas quelques minutes. Le maintien de connexions de longue durée à l'API Route Optimization augmente le risque d'interruption avant qu'une solution puisse être renvoyée. Pour en savoir plus, consultez Gérer l'expiration du délai.
BatchOptimizeTours
peut gérer les requêtes plus importantes et les requêtes avec un temps de résolution plus long, car il ne nécessite pas de connexion longue durée à l'API Route Optimization.
Opérations de longue durée
Les opérations de longue durée sont lues à partir de l'API Route Optimization à l'aide de la méthode GetOperation
afin de vérifier l'état d'avancement d'un lot. Les opérations de longue durée comprennent une propriété done
qui indique si le traitement de l'ensemble du lot est terminé, et un champ error
qui signale les erreurs rencontrées lors du traitement. Si done
est défini sur "true" et qu'aucun error
n'est présent, le lot a bien été exécuté. La présence d'un error
indique qu'une partie ou la totalité du traitement par lot a échoué.
Le cycle de vie typique d'une requête BatchOptimizeTours
est le suivant:
- Envoyez un
BatchOptimizeToursRequest
à l'API Route Optimization, qui renvoie le nom de ressource d'une opération de longue durée. - Interrogez
GetOperation
avec le nom de la ressource d'opération de longue durée renvoyé jusqu'à ce que les propriétésdone
ouerror
apparaissent dans la réponse de l'opération de longue durée. - Si
done
est défini sur "true" et qu'aucune erreur n'est présente, lisezOptimizeToursResponses
à partir des URI Google Cloud Storage spécifiés dans la requêteBatchOptimizeTours
. Sierror
est présent, inspectez l'erreur, mettez à jour lesOptimizeToursRequest
en conséquence dans Google Cloud Storage, puis réessayez selon l'erreur observée.
Vous pouvez envoyer des requêtes OptimizeTours
et BatchOptimizeTours
de différentes manières, à partir de la ligne de commande ou à l'aide d'une bibliothèque cliente.