Interfejs Route Optimization API udostępnia 2 metody:
OptimizeToursto metoda synchroniczna, która w odpowiedzi naOptimizeToursRequestzwraca zoptymalizowaną trasę. Klienci muszą utrzymywać otwarte połączenie z interfejsem Route Optimization API do momentu przetworzenia żądania i zwróceniaOptimizeToursResponselub błędu.BatchOptimizeToursto metoda asynchroniczna, która akceptuje identyfikatory URI co najmniej 1 wiadomościOptimizeToursRequesti odpowiadających im wiadomościOptimizeToursResponse, zwracając nazwę zasobu długo trwającej operacji (LRO) (REST, gRPC), która służy do sprawdzania, czy przetwarzanie zbiorcze zostało zakończone. ŻądaniaOptimizeToursRequestsą przetwarzane w tle, więc klienci utrzymują otwarte połączenie z interfejsem Route Optimization API tylko na tyle długo, aby przesłaćBatchOptimizeToursRequestlub wywołaćGetOperationw celu sprawdzenia stanu LRO.BatchOptimizeToursodczytuje żądania z Google Cloud Storage i zapisuje w nim odpowiedzi.
Przypadki użycia
Metoda OptimizeTours jest wygodna do rozwiązywania małych i prostych żądań lub żądań, których czas rozwiązywania wynosi kilka minut lub mniej. Utrzymywanie długotrwałych połączeń z interfejsem Route Optimization API zwiększa ryzyko przerwania przed zwróceniem rozwiązania.
Metoda BatchOptimizeTours może obsługiwać większe żądania i żądania o dłuższym czasie rozwiązywania, ponieważ nie wymaga długotrwałego połączenia z interfejsem Route Optimization API.
Długo trwające operacje
Długo trwające operacje są odczytywane z interfejsu Route Optimization API za pomocą metody GetOperation, aby sprawdzić stan zakończenia przetwarzania zbiorczego. Długo trwające operacje obejmują właściwość done, która wskazuje, czy przetwarzanie całego pakietu zostało zakończone, oraz pole error, które informuje o błędach napotkanych podczas przetwarzania. Jeśli wartość done to true i nie występuje żaden error, przetwarzanie zbiorcze zostało zakończone. Obecność error wskazuje, że przetwarzanie niektórych lub wszystkich elementów zbiorczych nie powiodło się.
Typowy cykl życia żądania BatchOptimizeTours wygląda tak:
- Prześlij
BatchOptimizeToursRequestdo interfejsu Route Optimization API, który zwraca nazwę zasobu LRO. - Wywołuj metodę
GetOperationz zwróconą nazwą zasobu LRO, aż wejdzie ona w standoneluberror. - Jeśli wartość
doneto true i nie występuje żaden błąd, odczytajOptimizeToursResponsesz identyfikatorów URI Google Cloud Storage określonych w żądaniuBatchOptimizeTours. Jeśli wystąpiłerror, sprawdź go, odpowiednio zaktualizuj żądaniaOptimizeToursRequestw Google Cloud Storage i ponów próbę w zależności od zaobserwowanego błędu.
Żądania OptimizeTours i BatchOptimizeTours możesz wysyłać na różne
sposoby – z wiersza poleceń lub za pomocą biblioteki klienta.
Dalej: wysyłanie żądania do interfejsu API