Route Optimization API מציג שתי שיטות:
OptimizeTours
היא שיטה סינכרונית שמחזירה מסלול שעבר אופטימיזציה בתגובה ל-OptimizeToursRequest
. הלקוחות צריכים לשמור על חיבור פתוח ל-Route Optimization API עד לסיום הטיפול בבקשה ותוחזר הודעת שגיאהOptimizeToursResponse
או שגיאה.BatchOptimizeTours
היא שיטה אסינכרונית שמקבלת מזהי URI ל-OptimizeToursRequest
אחד או יותר ולהודעותOptimizeToursResponse
תואמות, שמחזירה את שם המשאב של פעולה ממושכת (LRO) (REST, gRPC) שמשמשת לבדיקה של השלמת אצווה.OptimizeToursRequest
העיבוד של קובציOptimizeToursRequest
מתבצע ברקע, כך שהלקוחות שומרים חיבורים פתוחים ל-Route Optimization API למשך מספיק זמן כדי לבדוק את 10BatchOptimizeToursRequest
/}.GetOperation
BatchOptimizeTours
קורא בקשות מ-Google Cloud Storage וכותב תשובות.
תרחישים לדוגמה
OptimizeTours
מתאים לפתרון של בקשות קטנות ופשוטות, או לבקשות עם זמני פתרון של כמה דקות או פחות. חיבורים ארוכי טווח ל-Route Optimization API מגדילים את הסיכון להפרעות לפני שתוכלו להחזיר את הפתרון. פרטים נוספים זמינים במאמר עבודה עם זמן קצוב לתפוגה.
BatchOptimizeTours
יכול לטפל בבקשות ובבקשות גדולות יותר עם זמן פתרון ארוך יותר, כי לא נדרש חיבור לטווח ארוך ל-Route Optimization API.
פעולות ממושכות
כדי לבדוק את סטטוס ההשלמה של אצווה, קוראים את ה-LRO מ-Route Optimization API באמצעות השיטה GetOperation
. רכיבי LRO כוללים את המאפיין done
שמציין אם העיבוד של כל האצווה הושלם, ושדה error
שמדווח על שגיאות שאירעו במהלך העיבוד. אם הערך של done
הוא TRUE ואין error
, האצווה הושלמה בהצלחה. אם יש פקודת error
, העיבוד של חלק מהאצווה או של כולם נכשל.
מחזור החיים האופייני של בקשת BatchOptimizeTours
הוא:
- שולחים
BatchOptimizeToursRequest
ל-Route Optimization API, שמחזיר את שם המשאב של LRO. - משאלים
GetOperation
עם שם משאב ה-LRO שהוחזר עד שהמאפייניםdone
אוerror
יופיעו בתגובה של LRO. - אם הערך של
done
הוא true ואין שגיאות, קראו את הערךOptimizeToursResponses
ממזהי ה-URI של Google Cloud Storage שצוינו בבקשהBatchOptimizeTours
. אם השדהerror
מופיע, בודקים את השגיאה, מעדכנים את מזהיOptimizeToursRequest
בהתאם ב-Google Cloud Storage ומנסים שוב בהתאם לשגיאה שצוינה.
אפשר לשלוח בקשות OptimizeTours
ו-BatchOptimizeTours
במגוון דרכים, משורת הפקודה או באמצעות ספריית לקוח.