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ộtOptimizeToursRequest
. Ứ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ềuOptimizeToursRequest
và thông báoOptimizeToursResponse
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ửiBatchOptimizeToursRequest
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:
- 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. - Cuộc thăm dò
GetOperation
có tên tài nguyên LRO được trả về cho đến khi thuộc tínhdone
hoặcerror
xuất hiện trong phản hồi LRO. - Nếu
done
là giá trị true và không có lỗi, hãy đọcOptimizeToursResponses
từ các URI của Google Cloud Storage được chỉ định trong yêu cầuBatchOptimizeTours
. Nếu cóerror
, hãy kiểm tra lỗi, cập nhậtOptimizeToursRequest
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 OptimizeTours
và BatchOptimizeTours
theo nhiều cách, từ dòng lệnh hoặc sử dụng thư viện ứng dụng.