Punkty końcowe synchroniczne i asynchroniczne

Interfejs Route Optimization API udostępnia 2 metody:

  • OptimizeTours to synchroniczna metoda, która zwraca zoptymalizowaną trasę w odpowiedzi na OptimizeToursRequest. Klienci muszą utrzymać otwarte połączenie z interfejsem Route Optimization API do momentu przetworzenia żądania i zwrócenia wartości OptimizeToursResponse lub błędu.
  • BatchOptimizeTours to asymetryczna metoda, która akceptuje identyfikatory URI dotyczące jednego lub więcej zapytań OptimizeToursRequest oraz odpowiadających im OptimizeToursResponse, 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. Zapytania OptimizeToursRequest są przetwarzane w tle, więc klienci utrzymują otwarte połączenia z interfejsem Route Optimization API tylko przez czas potrzebny do przesłania zapytania BatchOptimizeToursRequest lub wywołania zapytania GetOperation 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:

  1. Prześlij BatchOptimizeToursRequest do interfejsu Route Optimization API, który zwraca nazwę zasobu LRO.
  2. Wywołaj metodę GetOperation z zwróconą nazwą zasobu LRO, aż w odpowiedzi LRO pojawią się właściwości done lub error.
  3. Jeśli done ma wartość Prawda i nie ma błędu, odczytaj OptimizeToursResponses z URI Google Cloud Storage określonych w żądaniu BatchOptimizeTours. Jeśli error jest obecny, sprawdź błąd, zaktualizuj odpowiednio wartości OptimizeToursRequest 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.

Dalej: wysyłanie żądania do interfejsu API