Endpoint sinkron dan asinkron

Developer Wilayah Ekonomi Eropa (EEA)

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 pesan OptimizeToursRequest dan OptimizeToursResponse yang sesuai, yang menampilkan nama resource Operasi yang Berjalan Lama (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 memanggil GetOperation untuk memeriksa status LRO. 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 beberapa menit atau kurang. Mempertahankan koneksi persisten ke Route Optimization API meningkatkan risiko gangguan sebelum solusi dapat ditampilkan.

BatchOptimizeTours dapat menangani permintaan yang lebih besar dan permintaan dengan waktu penyelesaian yang lebih lama karena tidak memerlukan koneksi yang berjalan lama 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 telah selesai dan kolom error yang melaporkan error yang terjadi selama pemrosesan. Jika done bernilai benar dan tidak ada error, batch berhasil diselesaikan. Adanya 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. 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, perbarui OptimizeToursRequest yang sesuai di Google Cloud Storage, dan coba lagi sesuai dengan error yang diamati.

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

Berikutnya: Membuat Permintaan API