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