L'API Route Optimization propose deux méthodes:
OptimizeTours
est une méthode synchrone qui renvoie une route optimisée en réponse à un événementOptimizeToursRequest
. Les clients doivent maintenir une connexion ouverte à l'API Route Optimization jusqu'à ce que la requête soit traitée et qu'une erreurOptimizeToursResponse
ou qu'une erreur soient renvoyées.BatchOptimizeTours
est une méthode asynchrone qui accepte les URI d'un ou de plusieurs messagesOptimizeToursRequest
et des messagesOptimizeToursResponse
correspondants. Elle renvoie le nom de ressource d'une opération de longue durée (REST, gRPC) utilisée pour vérifier l'exécution des lots. LesOptimizeToursRequest
sont traités en arrière-plan, de sorte que les clients maintiennent des connexions ouvertes avec l'API Route Optimization le temps nécessaire pour envoyer l'étatBatchOptimizeToursRequest
ou pour appelerGetOperation
.BatchOptimizeTours
lit les requêtes et écrit les réponses dans Google Cloud Storage.
Cas d'utilisation
OptimizeTours
est pratique pour résoudre les requêtes simples et petites, ou les requêtes dont la durée de résolution est inférieure ou égale à quelques minutes. Le maintien de connexions à longue durée de vie à l'API Route Optimization augmente le risque d'interruption avant qu'une solution ne puisse être renvoyée.
BatchOptimizeTours
peut gérer des requêtes plus importantes et des requêtes avec un temps de résolution plus long, car il ne nécessite pas de connexion de 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
pour vérifier l'état d'avancement d'un lot. Les opérations de longue durée incluent 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 "true" et qu'aucun élément error
n'est présent, le lot a bien été exécuté. La présence d'un error
indique que le traitement par lot a échoué en partie ou en totalité.
Le cycle de vie type d'une requête BatchOptimizeTours
se présente comme suit:
- Envoyez une
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 ressource d'opération de longue durée renvoyé jusqu'à ce que les propriétésdone
ouerror
apparaissent dans la réponse d'opération de longue durée. - Si
done
est défini sur "true" et qu'aucune erreur n'est détectée, 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 en fonction de 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.