Die Route Optimierungs-API bietet zwei Methoden:
OptimizeTours
ist eine synchrone Methode, die eine optimierte Route als Antwort auf eineOptimizeToursRequest
zurückgibt. Clients müssen eine offene Verbindung zur Route Optimization API aufrechterhalten, bis die Anfrage verarbeitet wurde und einOptimizeToursResponse
oder ein Fehler zurückgegeben wird.BatchOptimizeTours
ist eine asynchrone Methode, die URIs für eine oder mehrereOptimizeToursRequest
- und entsprechendeOptimizeToursResponse
-Nachrichten akzeptiert und den Ressourcennamen eines lang laufenden Vorgangs (REST, gRPC) zurückgibt, der zur Überprüfung der Batch-Fertigstellung verwendet wird.OptimizeToursRequest
s werden im Hintergrund verarbeitet, sodass Clients nur so lange eine offene Verbindung zur Route Optimierungs-API aufrechterhalten, bis sieBatchOptimizeToursRequest
/den Status senden und {10/status} aufrufen können.GetOperation
BatchOptimizeTours
liest Anfragen aus und schreibt Antworten in Google Cloud Storage.
Anwendungsbereiche
OptimizeTours
eignet sich hervorragend zum Lösen kleiner und einfacher Anfragen oder für Anfragen, deren Lösungsdauer nur wenige Minuten beträgt. Wenn langlebige Verbindungen zur Route Optimization API aufrechterhalten werden, steigt das Risiko von Unterbrechungen, bevor eine Lösung zurückgegeben werden kann. Weitere Informationen finden Sie unter Mit Zeitüberschreitung arbeiten.
BatchOptimizeTours
kann größere Anfragen und Anfragen mit längerer Lösungszeit verarbeiten, da keine langlebige Verbindung zur Route Optimierung API erforderlich ist.
Lang andauernde Vorgänge
LROs werden mit der Methode GetOperation
aus der Route Optimization API gelesen, um den Abschlussstatus eines Batches zu prüfen. LROs enthalten das Attribut done
, das angibt, ob die Verarbeitung des gesamten Batches abgeschlossen ist, und das Feld error
, das Fehler meldet, die während der Verarbeitung aufgetreten sind. Wenn done
„true“ ist und kein error
vorhanden ist, wurde der Batch erfolgreich abgeschlossen. Das Vorhandensein eines error
weist darauf hin, dass die Verarbeitung eines Teils oder des gesamten Batches fehlgeschlagen ist.
Der typische Lebenszyklus einer BatchOptimizeTours
-Anfrage sieht so aus:
- Senden Sie einen
BatchOptimizeToursRequest
an die Route Optimization API, die den Ressourcennamen eines LRO zurückgibt. - Fragen Sie
GetOperation
mit dem zurückgegebenen Ressourcennamen für den Vorgang ab, bis das Attributdone
odererror
in der Antwort für die LRO-Antwort angezeigt wird. - Wenn
done
wahr ist und kein Fehler vorhanden ist, lesen SieOptimizeToursResponses
aus den Google Cloud Storage-URIs, die in derBatchOptimizeTours
-Anfrage angegeben sind. Wennerror
vorhanden ist, prüfen Sie den Fehler, aktualisieren Sie dieOptimizeToursRequest
s entsprechend in Google Cloud Storage und versuchen Sie es je nach beobachtetem Fehler nach Bedarf noch einmal.
Sie können OptimizeTours
- und BatchOptimizeTours
-Anfragen auf verschiedene Arten senden, entweder über die Befehlszeile oder mithilfe einer Clientbibliothek.