Porównanie OptimizeTours i BatchOptimizeTours

Interfejs Route Optimization API udostępnia 2 metody:

  • OptimizeTours to metoda synchroniczna, która zwraca zoptymalizowaną trasę w odpowiedź na pytanie OptimizeToursRequest. Klienci muszą utrzymywać otwarte połączenia z interfejsem Route Optimization API do czasu przetworzenia żądania i OptimizeToursResponse lub błąd.
  • BatchOptimizeTours to metoda asynchroniczna, która akceptuje identyfikatory URI lub więcej OptimizeToursRequest i odpowiadających im wartości OptimizeToursResponse wiadomości zwracające nazwę zasobu długo trwającej operacji (LRO). (REST, gRPC), który służy do sprawdzania zakończenia wsadu. Instancje OptimizeToursRequest są przetwarzane w tle, więc klienci utrzymują otwarte połączenia z interfejsem Route Optimization API wystarczająco długo, by przesłać dane BatchOptimizeToursRequest lub zadzwoń na GetOperation, aby sprawdzić LRO stanu. BatchOptimizeTours odczytuje żądania z i zapisuje odpowiedzi na Google Cloud Storage.

Przykłady zastosowania

OptimizeTours jest przydatny w przypadku małych i prostych żądań. żądań z czasem realizacji wynoszącym kilka minut lub mniej. Długotrwałość połączeń z interfejsem Route Optimization API zwiększa ryzyko przerw w działaniu rozwiązanie może zostać zwrócone.

BatchOptimizeTours może obsługiwać większe żądania i zapewniać dłuższe rozwiązywanie problemów czas, ponieważ nie wymaga długotrwałego połączenia z trasą Optimization API.

Długo trwające operacje

Jednostki LRO są odczytywane z interfejsu Route Optimization API za pomocą metody GetOperation do sprawdzać stan ukończenia wsadu. Jednostki LRO zawierają właściwość done, która wskazuje, czy przetwarzanie całego wsadu zostało zakończone, a error pole z informacjami o błędach napotkanych podczas przetwarzania. Jeśli done ma wartość prawda i brak elementów error, oznacza to, że wsad został ukończony. Obecność error oznacza, że nie udało się przetworzyć części lub całości wsadu.

Typowy cykl życia żądania BatchOptimizeTours wygląda tak:

  1. Prześlij BatchOptimizeToursRequest do interfejsu Route Optimization API, który zwraca nazwę zasobu LRO.
  2. Wypełniaj ankietę GetOperation ze zwróconą nazwą zasobu LRO do czasu done lub Właściwości error pojawiają się w odpowiedzi LRO.
  3. Jeśli done ma wartość prawda i nie występuje żaden błąd, przeczytaj OptimizeToursResponses z identyfikatorów URI Google Cloud Storage określonych w BatchOptimizeTours użytkownika. Jeśli widzisz error, sprawdź błąd, zaktualizuj OptimizeToursRequest odpowiednio w Google Cloud Storage i spróbuj ponownie jako odpowiednie do zaobserwowanego błędu.

Możesz wysyłać prośby OptimizeTours i BatchOptimizeTours na różne sposoby z poziomu wiersza poleceń lub biblioteki klienta.

Dalej: Tworzenie żądania do interfejsu API