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 nie zostanie przetworzone żądanie i nie zostanie zwrócony błądOptimizeToursResponse
lub błąd.BatchOptimizeTours
to metoda asynchroniczna, która akceptuje identyfikatory URI dla co najmniej jednego elementuOptimizeToursRequest
i odpowiednich komunikatówOptimizeToursResponse
, zwracając nazwę zasobu operacji długotrwałej (LRO) (REST, gRPC), która służy do sprawdzania realizacji wsadu.OptimizeToursRequest
ProcesyOptimizeToursRequest
są przetwarzane w tle, więc klienty utrzymują otwarte połączenia z interfejsem Route Optimization API tylko do sprawdzenia stanu {1/BatchOptimizeToursRequest
lub na jego wywołanie.GetOperation
BatchOptimizeTours
odczytuje żądania z Google Cloud Storage i zapisuje w nich odpowiedzi.
Przykłady zastosowania
OptimizeTours
sprawdza się w przypadku małych i prostych żądań oraz w przypadku zgłoszeń, których czas zajmuje do kilku minut. Utrzymywanie długotrwałych połączeń z interfejsem Route Optimization API zwiększa ryzyko przerw w działaniu usługi, zanim możliwe będzie zwrócenie rozwiązania. Więcej informacji znajdziesz w artykule Praca z limitem czasu.
BatchOptimizeTours
może obsługiwać większe żądania i będzie działać dłużej, ponieważ nie wymaga długotrwałego połączenia z interfejsem Route Optimization API.
Długo trwające operacje
LRO są odczytywane z interfejsu Route Optimization API przy użyciu metody GetOperation
w celu sprawdzenia stanu ukończenia wsadu. 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, ale nie ma elementu error
, wsad został ukończony. Obecność error
oznacza, że przetwarzanie wsadowe nie powiodło się w przypadku części lub całości.
Typowy cykl życia żądania BatchOptimizeTours
wygląda tak:
- Prześlij
BatchOptimizeToursRequest
do interfejsu Route Optimization API, który zwraca nazwę zasobu LRO. - Sonduj
GetOperation
ze zwróconą nazwą 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, odczytajOptimizeToursResponses
z identyfikatorów URI Google Cloud Storage określonych w żądaniuBatchOptimizeTours
. Jeśli występujeerror
, sprawdź błąd, zaktualizuj odpowiednio interfejsyOptimizeToursRequest
w Google Cloud Storage i spróbuj ponownie w zależności od zaobserwowanego błędu.
Żądania OptimizeTours
i BatchOptimizeTours
można wysyłać na różne sposoby: z poziomu wiersza poleceń lub za pomocą biblioteki klienta.