השוואת OptimizeTours ו-BatchOptimizeTours

Route Optimization API מציג שתי שיטות:

  • OptimizeTours היא שיטה סינכרונית שמחזירה מסלול שעבר אופטימיזציה בתגובה ל-OptimizeToursRequest. הלקוחות צריכים לשמור על חיבור פתוח ל-Route Optimization API עד לסיום הטיפול בבקשה ותוחזר הודעת שגיאה OptimizeToursResponse או שגיאה.
  • BatchOptimizeTours היא שיטה אסינכרונית שמקבלת מזהי URI ל-OptimizeToursRequest אחד או יותר ולהודעות OptimizeToursResponse תואמות, שמחזירה את שם המשאב של פעולה ממושכת (LRO) (REST, gRPC) שמשמשת לבדיקה של השלמת אצווה. OptimizeToursRequestהעיבוד של קובצי OptimizeToursRequest מתבצע ברקע, כך שהלקוחות שומרים חיבורים פתוחים ל-Route Optimization API למשך מספיק זמן כדי לבדוק את 10 BatchOptimizeToursRequest/}.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 הוא:

  1. שולחים BatchOptimizeToursRequest ל-Route Optimization API, שמחזיר את שם המשאב של LRO.
  2. משאלים GetOperation עם שם משאב ה-LRO שהוחזר עד שהמאפיינים done או error יופיעו בתגובה של LRO.
  3. אם הערך של done הוא true ואין שגיאות, קראו את הערך OptimizeToursResponses ממזהי ה-URI של Google Cloud Storage שצוינו בבקשה BatchOptimizeTours. אם השדה error מופיע, בודקים את השגיאה, מעדכנים את מזהי OptimizeToursRequest בהתאם ב-Google Cloud Storage ומנסים שוב בהתאם לשגיאה שצוינה.

אפשר לשלוח בקשות OptimizeTours ו-BatchOptimizeTours במגוון דרכים, משורת הפקודה או באמצעות ספריית לקוח.

השלב הבא: שליחת בקשה