OptimizeTours ve BatchOptimizeTours'ı karşılaştırma

Route Optimization API'si iki yöntem sunar:

  • OptimizeTours, OptimizeToursRequest öğesine yanıt olarak optimize edilmiş bir rota döndüren eşzamanlı bir yöntemdir. İstek işlenene ve bir OptimizeToursResponse veya hata döndürülene kadar istemciler Route Optimization API'ye açık bir bağlantı korumalıdır.
  • BatchOptimizeTours, bir veya daha fazla OptimizeToursRequest için URI'ları ve bunlara karşılık gelen OptimizeToursResponse mesajlarını kabul eden eşzamansız bir yöntemdir. Toplu işlemin tamamlanıp tamamlanmadığını kontrol etmek için kullanılan Uzun Süreli İşlem'in (LRO) (REST, gRPC) kaynak adını döndürür. OptimizeToursRequest'ler arka planda işlendiğinden, istemciler Route Optimization API'ye açık bağlantıları yalnızca BatchOptimizeToursRequestLRO10/} durumunu kontrol etmeye yetecek süre boyunca sürdürür.GetOperation BatchOptimizeTours, Google Cloud Storage'dan gelen istekleri okur ve yanıtları yazar.

Kullanım Alanları

OptimizeTours, küçük ve basit istekleri veya birkaç dakika ya da daha kısa çözme süresine sahip istekler için uygundur. Route Optimization API ile uzun süreli bağlantıların korunması, bir çözüm döndürülmeden önce kesinti riskini artırır.

BatchOptimizeTours, Route Optimization API'ye uzun süreli bağlantı gerektirmediğinden daha büyük istekleri ve istekleri daha uzun çözme süresiyle işleyebilir.

Uzun Süreli İşlemler

LRO'lar, bir grubun tamamlanma durumunu kontrol etmek için GetOperation yöntemi kullanılarak Route Optimization API'den okunur. LRO'lar, tüm grubun işlenmesinin tamamlanıp tamamlanmadığını belirten bir done özelliği ve işleme sırasında karşılaşılan hataları bildiren bir error alanı içerir. done true ise ve error yoksa toplu işlem başarıyla tamamlanır. error varlığı, grubun bir kısmının veya tamamının işlenmesinin başarısız olduğunu gösterir.

Bir BatchOptimizeTours isteğinin genel yaşam döngüsü aşağıdaki gibidir:

  1. Route Optimization API'ye bir BatchOptimizeToursRequest gönderin. Bu API, LRO'nun kaynak adını döndürür.
  2. LRO yanıtında done veya error özellikleri görünene kadar döndürülen LRO kaynağının adını içeren GetOperation anketini doldurun.
  3. done doğru değerine sahipse ve hata yoksa BatchOptimizeTours isteğinde belirtilen Google Cloud Storage URI'larından OptimizeToursResponses değerini okuyun. error mevcutsa hatayı inceleyin, Google Cloud Storage'da OptimizeToursRequest öğelerini uygun şekilde güncelleyin ve gözlemlenen hataya göre uygun şekilde tekrar deneyin.

OptimizeTours ve BatchOptimizeTours isteklerini komut satırından veya istemci kitaplığından çeşitli yollarla gönderebilirsiniz.

Sonraki: API İsteğinde Bulunma