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
ได้หลายวิธี ไม่ว่าจะจากบรรทัดคำสั่งหรือใช้ไลบรารีของไคลเอ็นต์