Interfejs Route Optimization API udostępnia 2 metody:
OptimizeTours
to synchroniczna metoda, która zwraca zoptymalizowaną trasę w odpowiedzi naOptimizeToursRequest
. Klienci muszą utrzymać otwarte połączenie z interfejsem Route Optimization API do momentu przetworzenia żądania i zwrócenia wartościOptimizeToursResponse
lub błędu.BatchOptimizeTours
to asymetryczna metoda, która akceptuje identyfikatory URI dotyczące jednego lub więcej zapytańOptimizeToursRequest
oraz odpowiadających imOptimizeToursResponse
, zwracając nazwę zasobu długo trwającej operacji (LRO) (REST, gRPC), która służy do sprawdzania, czy partia została ukończona. ZapytaniaOptimizeToursRequest
są przetwarzane w tle, więc klienci utrzymują otwarte połączenia z interfejsem Route Optimization API tylko przez czas potrzebny do przesłania zapytaniaBatchOptimizeToursRequest
lub wywołania zapytaniaGetOperation
w celu sprawdzenia stanu LRO.BatchOptimizeTours
odczytuje żądania z Google Cloud Storage i zapisuje w niej odpowiedzi.
Przypadki użycia
OptimizeTours
jest wygodne do rozwiązywania małych i prostych żądań lub żądań, których czas rozwiązania wynosi kilka minut lub mniej. Utrzymywanie długotrwałych połączeń z interfejsem Route Optimization API zwiększa ryzyko przerwania działania rozwiązania przed jego zwrotem.
BatchOptimizeTours
może obsługiwać większe żądania i żądania z dłuższym czasem rozwiązania, ponieważ nie wymaga długotrwałego połączenia z interfejsem RouteOptimization API.
Długotrwałe operacje
LRO są odczytywane z interfejsu Route Optimization API za pomocą metody GetOperation
, aby sprawdzić stan ukończenia partii. LRO zawierają właściwość done
, która wskazuje, czy przetwarzanie całego zbioru zostało zakończone, oraz pole error
, które informuje o błędach napotkanych podczas przetwarzania. Jeśli done
ma wartość true, a error
nie występuje, partia została ukończona. Obecność tagu
error
wskazuje, że przetwarzanie części lub całości wsadu zakończyło się niepowodzeniem.
Typowy cykl życia żądania BatchOptimizeTours
:
- Prześlij
BatchOptimizeToursRequest
do interfejsu Route Optimization API, który zwraca nazwę zasobu LRO. - Wywołaj metodę
GetOperation
z zwróconą nazwą zasobu LRO, aż w odpowiedzi LRO pojawią się właściwościdone
luberror
. - Jeśli
done
ma wartość Prawda i nie ma błędu, odczytajOptimizeToursResponses
z URI Google Cloud Storage określonych w żądaniuBatchOptimizeTours
. Jeślierror
jest obecny, sprawdź błąd, zaktualizuj odpowiednio wartościOptimizeToursRequest
w Google Cloud Storage i spróbuj ponownie w zależności od błędu.
Żądania OptimizeTours
i BatchOptimizeTours
możesz wysyłać na różne sposoby, np. z poziomu wiersza poleceń lub za pomocą biblioteki klienta.