So sánh Optimize Tours và BatchOptimize Tours

Route Optimization API (API Tối ưu hoá tuyến đường) cho thấy 2 phương thức:

  • OptimizeTours là một phương thức đồng bộ trả về một tuyến được tối ưu hoá để phản hồi một OptimizeToursRequest. Ứng dụng phải duy trì kết nối mở với API Tối ưu hoá tuyến đường cho đến khi yêu cầu được xử lý và OptimizeToursResponse hoặc lỗi được trả về.
  • BatchOptimizeTours là một phương thức không đồng bộ chấp nhận URI cho một hoặc nhiều OptimizeToursRequest và thông báo OptimizeToursResponse tương ứng, trả về tên tài nguyên của một Thao tác chạy dài (LRO) (REST, gRPC) dùng để kiểm tra tình trạng hoàn thành hàng loạt. OptimizeToursRequest được xử lý ở chế độ nền, vì vậy ứng dụng duy trì kết nối mở tới API Tối ưu hoá tuyến đường chỉ đủ lâu để gửi BatchOptimizeToursRequest hoặc để kiểm tra LRO10/}.GetOperation BatchOptimizeTours đọc các yêu cầu từ và ghi phản hồi vào Google Cloud Storage.

Trường hợp Sử dụng

OptimizeTours thuận tiện cho việc giải quyết các yêu cầu nhỏ và đơn giản, hoặc cho các yêu cầu có thời gian giải quyết từ vài phút trở xuống. Việc duy trì các kết nối lâu dài với API Tối ưu hoá tuyến đường sẽ làm tăng nguy cơ bị gián đoạn trước khi có thể trả về giải pháp. Xem phần Làm việc với thời gian chờ để biết thêm chi tiết.

BatchOptimizeTours có thể xử lý các yêu cầu lớn hơn và các yêu cầu với thời gian giải quyết lâu hơn vì không đòi hỏi kết nối lâu dài với API Tối ưu hoá tuyến đường.

Vận hành lâu dài

Các LRO được đọc từ API Tối ưu hoá tuyến đường bằng phương thức GetOperation để kiểm tra trạng thái hoàn thành của một lô. Các LRO bao gồm một thuộc tính done cho biết liệu quá trình xử lý toàn bộ lô đã hoàn tất hay chưa và một trường error báo cáo các lỗi gặp phải trong quá trình xử lý. Nếu giá trị done là true và không có error nào thì lô này đã hoàn tất thành công. Sự hiện diện của error cho biết rằng một số hoặc tất cả lô đó không được xử lý thành công.

Vòng đời điển hình của một yêu cầu BatchOptimizeTours như sau:

  1. Gửi một BatchOptimizeToursRequest đến API Tối ưu hoá tuyến đường để trả về tên tài nguyên của một LRO.
  2. Cuộc thăm dò GetOperation có tên tài nguyên LRO được trả về cho đến khi thuộc tính done hoặc error xuất hiện trong phản hồi LRO.
  3. Nếu done là giá trị true và không có lỗi, hãy đọc OptimizeToursResponses từ các URI của Google Cloud Storage được chỉ định trong yêu cầu BatchOptimizeTours. Nếu có error, hãy kiểm tra lỗi, cập nhật OptimizeToursRequest phù hợp trong Google Cloud Storage rồi thử lại nếu phù hợp tuỳ thuộc vào lỗi quan sát được.

Bạn có thể gửi các yêu cầu OptimizeToursBatchOptimizeTours theo nhiều cách, từ dòng lệnh hoặc sử dụng thư viện ứng dụng.

Tiếp theo: Gửi yêu cầu