API Tối ưu hoá tuyến đường hiển thị 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ở đến API Tối ưu hoá tuyến đường cho đến khi yêu cầu được xử lý và trả về mộtOptimizeToursResponse
hoặc lỗi.BatchOptimizeTours
là 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 Hoạt động chạy dài (LRO) (REST, gRPC) dùng để kiểm tra việc hoàn thành hàng loạt.OptimizeToursRequest
được xử lý ở chế độ nền nên khách hàng chỉ duy trì kết nối mở đến API Tối ưu hoá tuyến đường đủ lâu để gửi trạng tháiBatchOptimizeToursRequest
hoặc kiểm traGetOperation
.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 các yêu cầu có thời gian giải quyết chỉ vài phút trở xuống. Việc duy trì các kết nối dài hạn 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ề một giải pháp.
BatchOptimizeTours
có thể xử lý các yêu cầu lớn và yêu cầu có thời gian giải quyết lâu hơn vì không cần phải có kết nối dài hạn với API Tối ưu hoá tuyến đường.
Hoạt động 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 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 các lỗi gặp phải trong quá trình xử lý. Nếu done
là true và không có error
, thì lô dữ liệu đã 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 toàn bộ lô không xử lý được.
Sau đây là vòng đời điển hình của một yêu cầu BatchOptimizeTours
:
- Gửi
BatchOptimizeToursRequest
đến API Tối ưu hoá tuyến đường. API này sẽ trả về tên tài nguyên của LRO. - Cuộc thăm dò ý kiến
GetOperation
với 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à đúng 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
cho phù hợp trong Google Cloud Storage rồi thử lại nếu cần, 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.