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