Eşzamanlı ve eşzamansız uç noktalar

Route Optimization API iki yöntem sunar:

  • OptimizeTours, bir OptimizeToursRequest'a yanıt olarak optimize edilmiş bir rota döndüren eşzamanlı bir yöntemdir. İstekler işlenip OptimizeToursResponse veya hata döndürülene kadar istemcilerin Route Optimization API ile açık bir bağlantısı olmalıdır.
  • BatchOptimizeTours, bir veya daha fazla OptimizeToursRequest ve ilgili OptimizeToursResponse mesajlarının URI'lerini kabul eden, toplu tamamlamayı kontrol etmek için kullanılan bir uzun süreli işlemin (LRO) (REST, gRPC) kaynak adını döndüren asynchronize bir yöntemdir. OptimizeToursRequest'lar arka planda işlenir. Bu nedenle, istemciler Route Optimization API'ye yalnızca BatchOptimizeToursRequest'ı göndermek veya LRO durumunu kontrol etmek için GetOperation'yi çağırmak için yeterince uzun bir süre açık bağlantılar korur. BatchOptimizeTours, Google Cloud Storage'dan gelen istekleri okur ve yanıtları buraya yazar.

Kullanım alanları

OptimizeTours, küçük ve basit istekleri veya çözüm süresi birkaç dakika veya daha kısa olan istekleri çözmek için uygundur. Rota Optimizasyonu API'sine uzun süreli bağlantılar sürdürmek, bir çözüm döndürülmeden önce kesinti riskini artırır.

BatchOptimizeTours, Route Optimization API ile uzun süreli bir bağlantı gerektirmediğinden daha büyük istekleri ve çözüm süresi daha uzun olan istekleri işleyebilir.

Uzun süreli iş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şlenip işlenmediğini belirten bir done mülkü ve işleme sırasında karşılaşılan hataları bildiren bir error alanı içerir. done doğruysa ve error mevcut değilse toplu işlem başarıyla tamamlanmıştır. error işaretinin bulunması, toplu işleme işleminin bir kısmının veya tamamının başarısız olduğunu gösterir.

BatchOptimizeTours isteğinin tipik 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 kaynak adıyla GetOperation'ü sorgulayın.
  3. done doğruysa ve hata yoksa BatchOptimizeTours isteğinde belirtilen Google Cloud Storage URI'lerinden OptimizeToursResponses değerini okuyun. error varsa hatayı inceleyin, Google Cloud Storage'da OptimizeToursRequest öğelerini uygun şekilde güncelleyin ve gözlemlenen hataya göre uygun şekilde yeniden deneyin.

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

Sonraki: API İsteği Yapma