Die Route Optimization API bietet zwei Methoden:
OptimizeToursist eine synchrone Methode, die als Antwort auf eineOptimizeToursRequesteine optimierte Route zurückgibt. Clients müssen eine offene Verbindung zur Route Optimization API aufrechterhalten, bis die Anfrage verarbeitet und eineOptimizeToursResponseoder ein Fehler zurückgegeben wird.BatchOptimizeToursist eine asynchrone Methode, die URIs für eine oder mehrereOptimizeToursRequest- und entsprechendeOptimizeToursResponseNachrichten akzeptiert und den Ressourcennamen eines lang andauernden Vorgangs (LRO) (REST, gRPC) zurückgibt, mit dem die Batchvervollständigung geprüft wird.OptimizeToursRequest-Anfragen werden im Hintergrund verarbeitet. Clients halten nur so lange eine offene Verbindung zur Route Optimization API aufrecht, bis sie dieBatchOptimizeToursRequestgesendet oderGetOperationaufgerufen haben, um den LRO Status zu prüfen.BatchOptimizeToursliest Anfragen aus Google Cloud Storage und schreibt Antworten dorthin.
Anwendungsfälle
OptimizeTours eignet sich für kleine und einfache Anfragen oder für Anfragen mit einer Lösungszeit von wenigen Minuten oder weniger. Wenn Sie lange Verbindungen zur Route Optimization API aufrechterhalten, steigt das Risiko einer Unterbrechung, bevor eine Lösung zurückgegeben werden kann.
BatchOptimizeTours kann größere Anfragen und Anfragen mit längerer Lösungszeit verarbeiten, da keine lange Verbindung zur Route Optimization API erforderlich ist.
Lang andauernde Vorgänge
LROs werden über die Methode GetOperation aus der Route Optimization API gelesen, um den Abschlussstatus eines Batches zu prüfen. LROs enthalten die Property done, die angibt, ob die Verarbeitung des gesamten Batches abgeschlossen ist, und ein Feld error, in dem Fehler gemeldet werden, die während der Verarbeitung aufgetreten sind. Wenn done auf „true“ gesetzt ist und kein error vorhanden ist, wurde der Batch erfolgreich abgeschlossen. Das Vorhandensein eines error gibt an, dass die Verarbeitung einiger oder aller Elemente des Batches fehlgeschlagen ist.
Der typische Lebenszyklus einer BatchOptimizeTours-Anfrage sieht so aus:
- Senden Sie eine
BatchOptimizeToursRequestan die Route Optimization API. Diese gibt den Ressourcennamen eines LRO zurück. - Rufen Sie
GetOperationmit dem zurückgegebenen LRO-Ressourcennamen auf, bis die Propertiesdoneodererrorin der LRO-Antwort angezeigt werden. - Wenn
doneauf „true“ gesetzt ist und kein Fehler vorhanden ist, lesen SieOptimizeToursResponsesaus den in derBatchOptimizeTours-Anfrage angegebenen Google Cloud Storage-URIs. Wennerrorvorhanden ist, prüfen Sie den Fehler, aktualisieren Sie dieOptimizeToursRequest-Anfragen entsprechend in Google Cloud Storage und versuchen Sie es noch einmal, je nach beobachtetem Fehler.
Sie können OptimizeTours und BatchOptimizeTours Anfragen auf verschiedene
Arten senden, entweder über die Befehlszeile oder mit einer Clientbibliothek.