Endpoint sinkron dan asinkron

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 mudah digunakan untuk menyelesaikan permintaan kecil dan sederhana, atau untuk permintaan dengan waktu penyelesaian beberapa menit atau kurang. Mempertahankan koneksi yang lama ke Route Optimization API akan meningkatkan risiko gangguan sebelum solusi dapat ditampilkan.

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

Operasi yang berjalan lama

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

Siklus proses umum permintaan BatchOptimizeTours adalah sebagai berikut:

  1. Kirim 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 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