נקודות קצה סינכרוניות ואסינכרוניות

מפתחים באזור הכלכלי האירופי (EEA)

‫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 יכול לטפל בבקשות גדולות יותר ובבקשות עם זמן פתרון ארוך יותר כי הוא לא דורש חיבור לטווח ארוך ל-API של אופטימיזציית מסלולים.

פעולות ממושכות

קוראים את ה-LRO מ-Route Optimization API באמצעות ה-method‏ GetOperation כדי לבדוק את סטטוס ההשלמה של אצווה. האובייקטים האלה כוללים מאפיין 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 במגוון דרכים, משורת הפקודה או באמצעות ספריית לקוח.

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