Route Optimization API hiển thị hai phương thức:
OptimizeTours
là một phương thức đồng bộ trả về một tuyến đường được tối ưu hoá để phản hồiOptimizeToursRequest
. Ứ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 trong thời gian dài (LRO) (REST, gRPC) dùng để kiểm tra xem lô có hoàn tất hay không.OptimizeToursRequest
được xử lý ở chế độ nền, vì vậy, ứng dụng chỉ duy trì kết nối mở với API Tối ưu hoá tuyến đủ lâu để gửiBatchOptimizeToursRequest
hoặc gọiGetOperation
để kiểm tra trạng thái LRO.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 làm tăng nguy cơ gián đoạn trước khi có thể trả về một giải pháp.
BatchOptimizeTours
có thể xử lý các yêu cầu lớn hơn và các yêu cầu có thời gian giải quyết lâu hơn vì không yêu cầu kết nối lâu dài với API Tối ưu hoá tuyến đường.
Thao tác chạy trong thời gian dài
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ô. 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 lỗi gặp phải trong quá trình xử lý. Nếu done
là đúng và không có error
nào, thì lô đã hoàn tất thành công. Sự hiện diện của error
cho biết một số hoặc tất cả lô không xử lý được.
Vòng đời thông thường của yêu cầu BatchOptimizeTours
như sau:
- Gửi
BatchOptimizeToursRequest
đến Route Optimization API (API Tối ưu hoá tuyến đường). API này sẽ trả về tên tài nguyên của LRO. - Khảo sát
GetOperation
bằng tên tài nguyên LRO được trả về cho đến khi các thuộc tínhdone
hoặcerror
xuất hiện trong phản hồi LRO. - Nếu
done
là true và không có lỗi nào, hãy đọcOptimizeToursResponses
từ các URI 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
cho phù hợp trong Google Cloud Storage và thử lại nếu thích hợp tuỳ thuộc vào lỗi đã quan sát được.
Bạn có thể gửi 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.