Membandingkan OptimizeTours dan BatchOptimizeTours

Route Optimization API mengekspos dua metode:

  • OptimizeTours adalah metode sinkron yang menampilkan rute yang dioptimalkan sebagai respons terhadap OptimizeToursRequest. Klien harus mempertahankan koneksi terbuka ke Route Optimization API hingga permintaan diproses dan OptimizeToursResponse atau error ditampilkan.
  • BatchOptimizeTours adalah metode asinkron yang menerima URI untuk satu atau beberapa OptimizeToursRequest dan pesan OptimizeToursResponse terkait, yang menampilkan nama resource Long Running Operation (LRO) (REST, gRPC) yang digunakan untuk memeriksa penyelesaian batch. OptimizeToursRequest diproses di latar belakang, sehingga klien mempertahankan koneksi terbuka ke Route Optimization API hanya cukup lama untuk mengirimkan BatchOptimizeToursRequest atau untuk memeriksa {10/status }.GetOperation BatchOptimizeTours membaca permintaan dari dan menulis respons ke Google Cloud Storage.

Kasus Penggunaan

OptimizeTours cocok untuk menyelesaikan permintaan kecil dan sederhana, atau untuk permintaan dengan waktu penyelesaian selama beberapa menit atau kurang. Mempertahankan koneksi jangka panjang ke Route Optimization API akan meningkatkan risiko gangguan sebelum solusi dapat ditampilkan. Lihat Menggunakan Waktu Tunggu untuk detail selengkapnya.

BatchOptimizeTours dapat menangani permintaan dan permintaan yang lebih besar dengan waktu penyelesaian yang lebih lama karena tidak memerlukan koneksi jangka panjang ke Route Optimization API.

Operasi yang Berjalan Lama

LRO dibaca dari Route Optimization API menggunakan metode GetOperation untuk memeriksa status penyelesaian batch. LRO mencakup properti done yang menunjukkan apakah pemrosesan seluruh batch selesai dan kolom error yang melaporkan error yang ditemukan selama pemrosesan. Jika done bernilai benar dan tidak ada error, batch akan berhasil diselesaikan. Munculnya error menunjukkan bahwa sebagian atau semua batch gagal diproses.

Siklus proses umum permintaan BatchOptimizeTours adalah sebagai berikut:

  1. Kirimkan BatchOptimizeToursRequest ke Route Optimization API, yang menampilkan nama resource LRO.
  2. Lakukan polling GetOperation dengan nama resource LRO yang ditampilkan hingga properti done atau error muncul dalam respons LRO.
  3. Jika done bernilai benar dan tidak ada error, baca OptimizeToursResponses dari URI Google Cloud Storage yang ditentukan dalam permintaan BatchOptimizeTours. Jika error ada, periksa error, perbarui OptimizeToursRequest sebagaimana mestinya di Google Cloud Storage, dan coba lagi sebagaimana mestinya bergantung pada error yang diamati.

Anda dapat mengirim permintaan OptimizeTours dan BatchOptimizeTours dengan berbagai cara, baik dari command line maupun menggunakan library klien.

Berikutnya: Mengirim Permintaan