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