Comparer OptimizeTours et BatchOptimizeTours

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énement OptimizeToursRequest. Les clients doivent maintenir une connexion ouverte à l'API Route Optimization jusqu'à ce que la requête soit traitée et qu'une erreur OptimizeToursResponse ou qu'une erreur soient renvoyées.
  • BatchOptimizeTours est une méthode asynchrone qui accepte les URI d'un ou de plusieurs messages OptimizeToursRequest et des messages OptimizeToursResponse 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. Les OptimizeToursRequest 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'état BatchOptimizeToursRequest ou pour appeler GetOperation. 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:

  1. Envoyez une BatchOptimizeToursRequest à l'API Route Optimization, qui renvoie le nom de ressource d'une opération de longue durée.
  2. Interrogez GetOperation avec le nom de ressource d'opération de longue durée renvoyé jusqu'à ce que les propriétés done ou error apparaissent dans la réponse d'opération de longue durée.
  3. Si done est défini sur "true" et qu'aucune erreur n'est détectée, lisez OptimizeToursResponses à partir des URI Google Cloud Storage spécifiés dans la requête BatchOptimizeTours. Si error est présent, inspectez l'erreur, mettez à jour les OptimizeToursRequest 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.

Étape suivante: Envoyer une requête API