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 menjaga koneksi ke Route Optimization API tetap terbuka hingga permintaan selesai diproses dan OptimizeToursResponse atau error ditampilkan.
  • BatchOptimizeTours adalah metode asinkron yang menerima URI untuk satu atau beberapa pesan OptimizeToursRequest dan OptimizeToursResponse terkait, yang menampilkan nama resource Long Running Operation (LRO) (REST, gRPC) yang digunakan untuk memeriksa penyelesaian batch. OptimizeToursRequest diproses di latar belakang, jadi klien menjaga koneksi ke Route Optimization API tetap terbuka 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. Menjaga koneksi ke Route Optimization API yang cukup lama akan 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 lama ke Route Optimization API.

Operasi yang berjalan lama

Operasi yang berjalan lama (Long Running Operations/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 akan 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 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: Buat Permintaan API