השוואת OptimizeTours ו-BatchOptimizeTours

ה-API לאופטימיזציה של המסלול חושף שתי שיטות:

  • OptimizeTours היא שיטה סינכרונית שמחזירה מסלול שעבר אופטימיזציה תגובה ל'OptimizeToursRequest'. הלקוחות צריכים לשמור על חשבון פתוח חיבור ל-Rout Optimize API עד שהבקשה תטופל מוחזר OptimizeToursResponse או שגיאה.
  • BatchOptimizeTours היא שיטה אסינכרונית שמקבלת מזהי URI לאחד או יותר OptimizeToursRequest ו-OptimizeToursResponse תואם הודעות, החזרת שם המשאב של פעולה ממושכת (LRO) (REST, gRPC) שמשמש לבדיקת השלמה של קבצים באצווה. המסמכים של OptimizeToursRequest מעובדים ברקע, כך שהלקוחות מתחזקים חיבורים פתוחים ל-Route Optimize API רק למשך התקופה שבה אפשר לשלוח את הנתונים BatchOptimizeToursRequest או כדי להתקשר אל GetOperation כדי לבדוק את LRO הסטטוס. BatchOptimizeTours קורא בקשות מ- וכותב תשובות אל Google Cloud Storage:

תרחישים לדוגמה

OptimizeTours נוח לפתרון בקשות קטנות ופשוטות, או בקשות עם זמני פתרון של כמה דקות או פחות. שמירה על יציבות לאורך זמן לחיבורים ל-Rout Optimize API מגבירים את הסיכון להפרעות לפני אפשר להחזיר פתרון.

BatchOptimizeTours יכול להתמודד עם בקשות ובקשות גדולות יותר באופן ממושך יותר כי לא נדרש חיבור לטווח ארוך למסלול Optimize API.

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

המערכת קוראת רשומות LRO מ-Rout Optimize API באמצעות השיטה GetOperation כדי לבדוק את סטטוס ההשלמה של קבוצת קבצים. LROs כוללים נכס done אשר מציין אם העיבוד של כל קבוצת הקבצים הסתיים ושדה error שמדווח על שגיאות שזוהו במהלך העיבוד. אם הערך של done הוא True וגם לא קיים error, קבוצת הקבצים הושלמה בהצלחה. נוכחות של error מציין שהעיבוד של חלק מסוים או של כולו נכשל.

מחזור החיים הטיפוסי של בקשת BatchOptimizeTours הוא:

  1. צריך לשלוח BatchOptimizeToursRequest ל-Rout Optimize 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