Route Optimization API มี 2 วิธีดังนี้
OptimizeToursเป็นวิธีการแบบเรียลไทม์ที่แสดงผลเส้นทางที่เพิ่มประสิทธิภาพแล้วใน การตอบกลับOptimizeToursRequestไคลเอ็นต์ต้องรักษาการเชื่อมต่อที่เปิดอยู่กับ Route Optimization API จนกว่าจะมีการประมวลผลคำขอและส่งคืนOptimizeToursResponseหรือข้อผิดพลาดBatchOptimizeToursเป็นเมธอดแบบอะซิงโครนัสที่ยอมรับ URI สำหรับOptimizeToursRequestอย่างน้อย 1 รายการและข้อความOptimizeToursResponseที่เกี่ยวข้อง โดยจะแสดงชื่อทรัพยากรของการดำเนินการที่ใช้เวลานาน (LRO) (REST, gRPC) ที่ใช้เพื่อตรวจสอบว่าการประมวลผลแบบเป็นชุดเสร็จสมบูรณ์แล้วหรือไม่ ระบบจะประมวลผลOptimizeToursRequestในเบื้องหลัง ดังนั้นไคลเอ็นต์จึงรักษา การเชื่อมต่อที่เปิดอยู่กับ Route Optimization API เพียงนานพอที่จะส่งBatchOptimizeToursRequestหรือเรียกใช้GetOperationเพื่อตรวจสอบสถานะ LROBatchOptimizeToursอ่านคำขอและเขียนการตอบกลับไปยัง Google Cloud Storage
กรณีการใช้งาน
OptimizeTours เหมาะสำหรับการแก้ปัญหาคำขอเล็กๆ น้อยๆ หรือคำขอที่ใช้เวลาแก้ปัญหาไม่กี่นาทีหรือน้อยกว่านั้น การรักษาการเชื่อมต่อระยะยาวกับ Route Optimization API จะเพิ่มความเสี่ยงที่จะเกิดการหยุดชะงักก่อนที่จะแสดงผลโซลูชันได้
BatchOptimizeTours สามารถจัดการคำขอขนาดใหญ่และคำขอที่ใช้เวลานานกว่าในการแก้ปัญหา
เนื่องจากไม่จำเป็นต้องมีการเชื่อมต่อที่ใช้งานได้นานกับ Route
Optimization API
การดำเนินการที่ใช้เวลานาน
ระบบจะอ่าน LRO จาก Route Optimization API โดยใช้เมธอด GetOperation เพื่อ
ตรวจสอบสถานะการดำเนินการของกลุ่ม LRO มีพร็อพเพอร์ตี้ done ที่
ระบุว่าการประมวลผลทั้งชุดเสร็จสมบูรณ์แล้วหรือไม่ และฟิลด์ error
ที่รายงานข้อผิดพลาดที่พบระหว่างการประมวลผล หาก done เป็นจริงและไม่มี error แสดงว่าชุดคำสั่งเสร็จสมบูรณ์แล้ว การมี
error แสดงว่าการประมวลผลชุดข้อมูลบางส่วนหรือทั้งหมดล้มเหลว
วงจรทั่วไปของคำขอ BatchOptimizeTours มีดังนี้
- ส่ง
BatchOptimizeToursRequestไปยัง Route Optimization API ซึ่งจะ แสดงชื่อทรัพยากรของ LRO - สำรวจ
GetOperationที่มีชื่อทรัพยากร LRO ที่ส่งคืนจนกว่าพร็อพเพอร์ตี้doneหรือerrorจะปรากฏในการตอบกลับ LRO - หาก
doneเป็นจริงและไม่มีข้อผิดพลาด ให้อ่านOptimizeToursResponsesจาก URI ของ Google Cloud Storage ที่ระบุในคำขอBatchOptimizeToursหากมีerrorให้ตรวจสอบข้อผิดพลาด อัปเดตOptimizeToursRequestตามนั้นใน Google Cloud Storage แล้วลองอีกครั้ง ตามความเหมาะสมโดยขึ้นอยู่กับข้อผิดพลาดที่พบ
คุณสามารถส่งคำขอ OptimizeTours และ BatchOptimizeTours ได้หลายวิธี ไม่ว่าจะจากบรรทัดคำสั่งหรือใช้ไลบรารีของไคลเอ็นต์