Route Optimization API cung cấp 2 phương thức:
OptimizeTourslà một phương thức đồng bộ trả về một tuyến đường được tối ưu hoá để phản hồi mộtOptimizeToursRequest. Các ứng dụng phải duy trì một kết nối mở với Route Optimization API cho đến khi yêu cầu được xử lý và trả vềOptimizeToursResponsehoặc lỗi.BatchOptimizeTourslà một phương thức không đồng bộ chấp nhận URI cho một hoặc nhiềuOptimizeToursRequestvà thông báoOptimizeToursResponsetương ứng, trả về tên tài nguyên của một Thao tác diễn ra trong thời gian dài (LRO) (REST, gRPC) được dùng để kiểm tra xem lô đã hoàn tất hay chưa.OptimizeToursRequestđược xử lý ở chế độ nền, vì vậy, các ứng dụng duy trì kết nối mở với Route Optimization API chỉ đủ lâu để gửiBatchOptimizeToursRequesthoặc gọiGetOperationđể kiểm tra trạng thái LRO.BatchOptimizeToursđọc các yêu cầu và ghi các phản hồi vào Google Cloud Storage.
Trường hợp sử dụng
OptimizeTours rất phù hợp để 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 từ vài phút trở xuống. Việc duy trì các kết nối liên tục với Route Optimization API 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 hơn và 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 thực hiện lâu
LRO được đọc từ Route Optimization API 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 các lỗi gặp phải trong quá trình xử lý. Nếu done là đúng và không có error, thì tức là lô đã hoàn tất thành công. Sự xuất hiện của error cho biết một phần 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 một
BatchOptimizeToursRequestđến Route Optimization API. API này sẽ trả về tên tài nguyên của một LRO. - Thăm dò ý kiến
GetOperationbằng tên tài nguyên LRO được trả về cho đến khi các thuộc tínhdonehoặcerrorxuất hiện trong phản hồi LRO. - Nếu
donelà true và không có lỗi, hãy đọcOptimizeToursResponsestừ 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ậtOptimizeToursRequestcho phù hợp trong Google Cloud Storage và thử lại nếu thích hợp, tuỳ thuộc vào lỗi đã gặp.
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 bằng cách sử dụng một thư viện ứng dụng.