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

חלק מהשיטות של Dialogflow API מחזירות פעולה ממושכת. ה-methods האלה הן אסינכרוניות, ויכול להיות שהפעולה לא תושלם כשה-method תחזיר תשובה. אתם יכולים לבדוק את הסטטוס של הפעולות או לבטל אותן.

קבלת סטטוס הפעולה

כך בודקים את סטטוס הפעולה: אם יש הרבה פעולות שצריך לבדוק, כדאי להשתמש ב-הגבלת קצב של יצירת בקשות עבור הקריאות או להשתמש ב-method‏ list במקום זאת.

REST

מפעילים את ה-method‏ get לסוג Operations.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט ב-GCP
  • ‫OPERATION_ID: מזהה הפעולה
  • ‫API_VERSION: v2 או v2beta1

ה-method של ה-HTTP וכתובת ה-URL:

GET https://dialogflow.googleapis.com/API_VERSION/projects/my-gcp-project/operations/OPERATION_ID

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "name": "projects/PROJECT_ID/operations/some-operation-name-OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.dialogflow.API_VERSION.SomeOperationType",
    "state": "DONE"
  },
  "done": true,
  ...
}

בסיום הפעולה, מוחזר ערך state של SUCCESSFUL.

הצגה וביטול של פעולות

בנוסף לקבלת פעולה ספציפית, אתם יכולים להציג רשימה של פעולות ולבטל אותן. אפשר לעיין ב-methods‏ list ו-cancel של הסוג Operations.

יכול להיות שהתוצאות של list יכללו פעולות שלא קשורות למשימה הנוכחית, אז חשוב לסנן את התוצאות.