Membandingkan OptimizeTours dan BatchOptimizeTours

Route Optimization API menampilkan 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 yang sesuai, 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 memanggil LROstatus untuk memeriksa LROstatus.GetOperation BatchOptimizeTours membaca permintaan dari dan menulis respons ke Google Cloud Storage.

Kasus Penggunaan

OptimizeTours sangat cocok untuk menyelesaikan permintaan kecil dan sederhana, atau untuk permintaan dengan waktu penyelesaian beberapa menit atau kurang. Mempertahankan koneksi berdurasi panjang ke Route Optimization API akan meningkatkan risiko gangguan sebelum solusi dapat ditampilkan.

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

Operasi yang Berjalan Lama

LLO dibaca dari Route Optimization API menggunakan metode GetOperation untuk memeriksa status penyelesaian batch. LLO menyertakan properti done yang menunjukkan apakah pemrosesan seluruh batch telah selesai dan kolom error yang melaporkan error yang ditemukan selama pemrosesan. Jika done bernilai benar (true) dan tidak ada error, batch tersebut berhasil diselesaikan. Munculnya error menunjukkan bahwa beberapa atau semua batch gagal diproses.

Siklus proses umum permintaan BatchOptimizeTours adalah sebagai berikut:

  1. Kirim BatchOptimizeToursRequest ke Route Optimization API, yang akan 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 (true) dan tidak ada error, baca OptimizeToursResponses dari URI Google Cloud Storage yang ditentukan dalam permintaan BatchOptimizeTours. Jika error ada, periksa error, update OptimizeToursRequest sebagaimana mestinya di Google Cloud Storage, dan coba lagi sesuai kebutuhan, tergantung pada error yang diamati.

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

Berikutnya: Membuat Permintaan API