Die Route Optimization API stellt zwei Methoden zur Verfügung:
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
-Fehler oder ein Fehler zurückgegeben wird.BatchOptimizeTours
ist eine asynchrone Methode, die URIs für eine oder mehrereOptimizeToursRequest
-Nachrichten und entsprechendeOptimizeToursResponse
-Nachrichten akzeptiert. Dabei wird der Ressourcenname eines lange laufenden Vorgangs (REST, gRPC) zurückgegeben, der zur Prüfung des Batch-Abschlusses verwendet wird.OptimizeToursRequest
s werden im Hintergrund verarbeitet, sodass Clients nur so lange offene Verbindungen zur Route Optimization API halten, um denBatchOptimizeToursRequest
/}-Status zu senden oder aufzurufen.GetOperation
BatchOptimizeTours
liest Anfragen aus Google Cloud Storage und schreibt Antworten in diese.
Anwendungsbereiche
OptimizeTours
eignet sich für die Bearbeitung kleiner und einfacher Anfragen oder für Anfragen mit einer Lösungsdauer von wenigen Minuten oder weniger. Die Aufrechterhaltung langlebiger Verbindungen zur Route Optimization API erhöht das Unterbrechungsrisiko, 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 Route Optimize 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 ein done
-Attribut, das angibt, ob die Verarbeitung des gesamten Batches abgeschlossen ist, und ein error
-Feld, das während der Verarbeitung aufgetretene Fehler meldet. Wenn done
„true“ und kein error
vorhanden ist, wurde der Batch erfolgreich abgeschlossen. Wenn error
vorhanden ist, bedeutet das, dass die Verarbeitung eines Teils oder des gesamten Batches fehlgeschlagen ist.
Der typische Lebenszyklus einer BatchOptimizeTours
-Anfrage sieht so aus:
- Senden Sie eine
BatchOptimizeToursRequest
an die Route Optimization API, die den Ressourcennamen eines LRO zurückgibt. - Fragen Sie
GetOperation
mit dem zurückgegebenen LRO-Ressourcennamen ab, bis die Attributedone
odererror
in der LRO-Antwort angezeigt werden. - Wenn
done
„true“ ist und kein Fehler vorhanden ist, lesen SieOptimizeToursResponses
aus den Google Cloud Storage-URIs aus, 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 noch einmal.
Sie können OptimizeTours
- und BatchOptimizeTours
-Anfragen auf verschiedene Arten senden, entweder über die Befehlszeile oder mithilfe einer Clientbibliothek.