Interfejs Route Optimization API udostępnia 2 metody:
OptimizeTours
to metoda synchroniczna, która w odpowiedzi naOptimizeToursRequest
zwraca zoptymalizowaną trasę. Klienty muszą utrzymywać otwarte połączenie z interfejsem Route Optimization API, dopóki żądanie nie zostanie przetworzone i nie zostanie zwróconyOptimizeToursResponse
lub błąd.BatchOptimizeTours
to asynchroniczna metoda, która akceptuje identyfikatory URI dla co najmniej 1 komunikatuOptimizeToursRequest
i odpowiadającego im komunikatuOptimizeToursResponse
. Zwraca nazwę zasobu długo trwającej operacji (LRO) (REST, gRPC), która jest używana do sprawdzania zakończenia wsadu. ModułyOptimizeToursRequest
są przetwarzane w tle, więc klienty utrzymują otwarte połączenia z interfejsem Route Optimization API wystarczająco długo, aby przesłać stan LRO {1/0}.BatchOptimizeToursRequest
GetOperation
BatchOptimizeTours
odczytuje żądania z i zapisuje odpowiedzi w Google Cloud Storage.
Przykłady zastosowania
OptimizeTours
to wygodny sposób na rozwiązywanie małych i prostych żądań, a także w przypadku żądań, które trwają maksymalnie kilka minut. Utrzymywanie długotrwałych połączeń z interfejsem Route Optimization API zwiększa ryzyko przerw w działaniu usługi, zanim rozwiązanie zostanie zwrócone.
BatchOptimizeTours
może obsługiwać większe żądania i żądania z dłuższym czasem na rozwiązywanie, ponieważ nie wymaga długotrwałego połączenia z interfejsem Route Optimize API.
Długo trwające operacje
Jednostki LRO są odczytywane z interfejsu Route Optimization API za pomocą metody GetOperation
w celu sprawdzenia stanu ukończenia wsadu. Jednostki LRO zawierają właściwość done
, która wskazuje, czy przetwarzanie całego wsadu zostało zakończone, oraz pole error
, które informuje o błędach napotkanych podczas przetwarzania. Jeśli done
ma wartość prawda i nie ma error
, wsad został ukończony. Obecność error
oznacza, że przetwarzanie części lub całego wsadu nie powiodło się.
Typowy cykl życia żądania BatchOptimizeTours
wygląda tak:
- Prześlij
BatchOptimizeToursRequest
do interfejsu Route Optimization API, który zwróci nazwę zasobu LRO. - Wywołuj sondę
GetOperation
z nazwą zwróconego zasobu LRO, dopóki właściwościdone
luberror
nie pojawią się w odpowiedzi LRO. - Jeśli
done
ma wartość prawda i nie występuje żaden błąd, odczytuj parametrOptimizeToursResponses
z identyfikatorów URI Google Cloud Storage określonych w żądaniuBatchOptimizeTours
. Jeśli widziszerror
, sprawdź błąd, zaktualizuj odpowiednio rekordyOptimizeToursRequest
w Google Cloud Storage i spróbuj ponownie w zależności od zaobserwowanego błędu.
Żądania OptimizeTours
i BatchOptimizeTours
możesz wysyłać na różne sposoby, z poziomu wiersza poleceń lub za pomocą biblioteki klienta.