최적화 도구 Tours와 BatchOptimizeTours 비교

Route Optimization API는 두 가지 메서드를 노출합니다.

  • OptimizeToursOptimizeToursRequest에 대한 응답으로 최적화된 경로를 반환하는 동기식 메서드입니다. 요청이 처리되고 OptimizeToursResponse 또는 오류가 반환될 때까지 클라이언트는 Route Optimization API에 대한 열린 연결을 유지해야 합니다.
  • BatchOptimizeTours는 하나 이상의 OptimizeToursRequest 및 해당 OptimizeToursResponse 메시지의 URI를 수락하는 비동기 메서드로, 일괄 완료를 확인하는 데 사용되는 장기 실행 작업(REST, gRPC)의 리소스 이름을 반환합니다. OptimizeToursRequest는 백그라운드에서 처리되므로 클라이언트는 BatchOptimizeToursRequest를 제출하거나 {10/RO 상태를 확인할 만큼만 경로 최적화 API에 대한 개방형 연결을 유지합니다.GetOperation BatchOptimizeToursGoogle Cloud Storage의 요청을 읽고 응답을 작성합니다.

사용 사례

OptimizeTours는 작고 간단한 요청을 해결하거나 해결 시간이 몇 분 이내인 요청에 편리합니다. Route Optimization API에 대한 연결을 장기간 유지하면 솔루션이 반환되기 전에 중단 위험이 커집니다.

BatchOptimizeTours는 Route Optimization API에 대한 수명이 긴 연결이 필요하지 않으므로 해결 시간이 더 긴 대규모 요청과 요청을 처리할 수 있습니다.

장기 실행 작업

배치 완료 상태를 확인하기 위해 GetOperation 메서드를 사용하여 Route Optimization API에서 LRO를 읽습니다. LRO에는 전체 배치의 처리가 완료되었는지 여부를 나타내는 done 속성과 처리 중에 발생한 오류를 보고하는 error 필드가 포함됩니다. done이 true이고 error가 없으면 배치가 성공적으로 완료된 것입니다. error가 있으면 일괄 처리의 일부 또는 전부가 실패했음을 나타냅니다.

BatchOptimizeTours 요청의 일반적인 수명 주기는 다음과 같습니다.

  1. Route Optimization API에 BatchOptimizeToursRequest를 제출합니다. 그러면 LRO의 리소스 이름이 반환됩니다.
  2. LRO 응답에 done 또는 error 속성이 나타날 때까지 반환된 LRO 리소스 이름으로 GetOperation를 폴링합니다.
  3. done이 true이고 오류가 없으면 BatchOptimizeTours 요청에 지정된 Google Cloud Storage URI에서 OptimizeToursResponses를 읽습니다. error가 있으면 오류를 검사하고 Google Cloud Storage에서 적절하게 OptimizeToursRequest를 업데이트한 후 관찰된 오류에 따라 적절하게 재시도합니다.

명령줄에서 또는 클라이언트 라이브러리를 사용하여 다양한 방법으로 OptimizeToursBatchOptimizeTours 요청을 보낼 수 있습니다.

다음: API 요청