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ęcejOptimizeToursRequest
oraz odpowiadających imOptimizeToursResponse
wiadomości, zwracając nazwę zasobu długo trwającej operacji (LRO) (REST, gRPC), która jest używana do sprawdzania, czy partia została ukończona.OptimizeToursRequest
są przetwarzane w tle, więc klienci utrzymują otwarte połączenia z interfejsem Route Optimization API tylko przez czas potrzebny do przesłaniaBatchOptimizeToursRequest
lub wywołaniaGetOperation
w celu sprawdzenia stanu LRO.BatchOptimizeTours
odczytuje żądania z Google Cloud Storage i zapisuje w niej odpowiedzi.
Przypadki użycia
OptimizeTours
jest wygodny do rozwiązywania prostych żądań lub żądań, których czas rozwiązania nie przekracza kilku minut. 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żna wysyłać na różne sposoby, np. z poziomu wiersza poleceń lub za pomocą biblioteki klienta.
Dalej: wysyłanie żądania do interfejsu API