Die Routenoptimierungs-API stellt zwei Methoden bereit:
OptimizeTours
ist eine synchrone Methode, die als Antwort auf eineOptimizeToursRequest
einen optimierten Weg zurückgibt. Clients müssen eine offene Verbindung zur Routenoptimierungs-API aufrechterhalten, bis die Anfrage verarbeitet wurde und eineOptimizeToursResponse
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 andauernden Vorgangs (Long Running Operation, LRO) (REST, gRPC) zurückgibt, mit dem der Batch-Abschluss geprüft wird.OptimizeToursRequest
-Nachrichten werden im Hintergrund verarbeitet. Daher halten Clients offene Verbindungen zur Routenoptimierungs-API nur so lange aufrecht, wie es zum Senden derBatchOptimizeToursRequest
oder zum Aufrufen vonGetOperation
zum Prüfen des LRO-Status erforderlich ist.BatchOptimizeTours
liest Anfragen von und schreibt Antworten an Google Cloud Storage.
Anwendungsfälle
OptimizeTours
eignet sich für kleine und einfache Anfragen oder für Anfragen mit einer Bearbeitungszeit von wenigen Minuten oder weniger. Wenn Sie dauerhafte Verbindungen zur Routenoptimierungs-API aufrechterhalten, erhöht sich das Risiko einer Unterbrechung, bevor eine Lösung zurückgegeben werden kann.
BatchOptimizeTours
kann größere Anfragen und Anfragen mit einer längeren Lösungszeit verarbeiten, da keine langlebige Verbindung zur Routenoptimierungs-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
, in dem Fehler während der Verarbeitung erfasst werden. Wenn done
„wahr“ ist und error
nicht vorhanden ist, wurde der Batch erfolgreich abgeschlossen. Wenn ein error
vorhanden ist, ist die Verarbeitung der gesamten oder teilweisen Batches fehlgeschlagen.
Der typische Lebenszyklus einer BatchOptimizeTours
-Anfrage sieht so aus:
- Reichen Sie eine
BatchOptimizeToursRequest
an die Route Optimization API ein. Diese gibt den Ressourcennamen eines Vorgangs mit langer Ausführungszeit zurück. - Rufe
GetOperation
mit dem zurückgegebenen LRO-Ressourcennamen ab, bis die Eigenschaftendone
odererror
in der LRO-Antwort angezeigt werden. - Wenn
done
wahr ist und kein Fehler auftritt, liesOptimizeToursResponses
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 Fehler noch einmal.
Sie können OptimizeTours
- und BatchOptimizeTours
-Anfragen auf verschiedene Arten senden, entweder über die Befehlszeile oder mit einer Clientbibliothek.