צפייה בהיסטוריה של שלבי הביצוע

אפשר לאחזר את ההיסטוריה של הפעלת תהליך עבודה ספציפי כרשימה של רשומות שלבים. כל רשומה של שלב מספקת מידע שיכול לעזור לכם בניתוח, באיתור באגים או באופטימיזציה של תהליך עבודה. לדוגמה, אפשר לראות אילו שלבים בוצעו בפועל, ומה משך הזמן של כל שלב והאם הוא הושלם בהצלחה. האפשרות הזו יכולה להיות שימושית במיוחד כשמבצעים ניפוי באגים בתהליך עבודה גדול או מורכב ולא ליניארי (למשל, תהליך עם הרבה ענפים מקבילים).

רשומה של שלב מייצגת שלב בפועל בקוד המקור (לדוגמה, assign או call) או בלוק הוראות (לדוגמה, לולאת for או בלוק try/retry/except). רשימה מלאה של סוגי השלבים זמינה במאמר StepType.

רמת היסטוריית הביצוע

כשיוצרים או מריצים תהליך עבודה, אפשר לציין היסטוריית הרצה בסיסית או מפורטת. אפשר להחיל את ההגדרה הזו ברמת תהליך העבודה או ברמת ההפעלה.

כברירת מחדל, לא מצוינת רמה של היסטוריית ביצוע, ומוחזרים רשומות של שלבים ברמה Basic.

אם רוצים שהיסטוריית ההפעלה תכלול את כל ערכי המשתנים שבתחום, ואם רלוונטי, את מספר האיטרציות הצפוי (למשל, כשמשתמשים בלולאת for, או בענף או באיטרציה מקבילים), צריך להגדיר את רמת היסטוריית ההפעלה למפורטת.

אם לא מציינים רמה של היסטוריית ביצועים לביצוע, הרמה נקבעת לפי הרמה שחלה על תהליך העבודה. אם הרמות שונות, ההגדרה שחלה ברמת הביצוע מבטלת את ההגדרה שחלה ברמת תהליך העבודה עבור הביצוע הזה.

איך מאחזרים רשומות של צעדים

אפשר לאחזר רשומות של שלבים על ידי שליחת בקשה ל-Workflow Executions API בארכיטקטורת REST או דרך מסוף Google Cloud :

  • מסוףGoogle Cloud – במאמר הזה מוסבר איך רואים את רשומות השלבים במסוף.

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

  • ‫Workflow Executions API בארכיטקטורת REST – במאמרי עזרה האלה אפשר לעיין בקטע Retrieve a step entry (אחזור של רשומה של שלב) ובקטע List step entries (רשימה של רשומות של שלבים).

פרטי הכניסה לשלב

רשומה של שלב כוללת את הפרטים הבאים. רשומות מפורטות של צעדים כוללות גם את המידע הבסיסי של רשומת הצעד.

מידע נוסף מופיע בדוגמאות.

מידע בסיסי על שלב הכניסה

שם השם המלא של משאב של רשומה בשלב, שהוא מזהה ייחודי בפורמט הבא, כאשר STEPENTRY_ID הוא מונה עולה:
projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/STEPENTRY_ID
לדוגמה:
projects/123456789012/locations/us-central1/workflows/myFirstWorkflow/executions/ae8a66a1-cefa-4d16-8a2f-d50c712d8ef1/stepEntries/2
יצירה ועדכון של מועדים חותמות זמן של מועד היצירה של רשומת השלב ושל העדכון האחרון שלה. אם שלב הושלם, updateTime מציין את שעת ההשלמה.
שמות של תרחישים ושלבים השמות של השגרה והשלב שאליהם שייך השלב הנוכחי. שם של שגרה הוא השם של תת-תהליך העבודה שמוגדר בקוד המקור בפורמט YAML או JSON. השם של השגרה ברמה העליונה הוא main.
מדינה וסוג התקדמות מצב רשומת השלב – לדוגמה, אם הרשומה הצליחה או נכשלה, או אם רשומת השלב נמצאת בתהליך והסוג של ההתקדמות. רשימה מלאה של המצבים וסוגי ההתקדמות זמינה במאמרים בנושא מצב וProgressType.
פרטי ניווט

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

פרטים נוספים זמינים במאמר בנושא NavigationInfo.
מטא-נתונים

נתונים שקשורים להזנת שלב איטרטיבי, שיכולים לכלול את הפרטים הבאים:

  • מזהה שמציין את שרשור הצאצא – לדוגמה, איזה STEP_PARALLEL_BRANCH_ENTRY ב-STEP_PARALLEL_BRANCH
  • האיטרציה של לולאת for – לדוגמה, איזו STEP_FOR_ITERATION ב-STEP_FOR
פרטים נוספים זמינים במאמר בנושא StepEntryMetadata.
חריגים מטען ייעודי (payload) שקשור לחריגים ומספק תיאור של הסיבה לכשל בכניסה לשלב.

מידע מפורט על שלב הכניסה

מטא-נתונים

אם רלוונטי, מספר האיטרציות הצפוי בהתקדמות השלב – למשל, כשמשתמשים בלולאת for, בענף מקביל או באיטרציה.

שימו לב: הספירה המחושבת לא תפעל כמצופה אם גבולות הלולאה כוללים ביטויים שמשלבים את אחד מהרכיבים הבאים:

  • עומק של ביטוי מקונן שעולה על 10
  • פונקציות מובנות אחרות מלבד len()
  • הערכות שכוללות ערכים כמו .inf,‏ -.inf,‏ .NAN,‏ Infinity או -Infinity
  • שגיאות
פרטים נוספים זמינים במאמר בנושא StepEntryMetadata.
נתוני משתנים

נתונים שקשורים לערכי משתנים בהיקף שמשויכים לשלב הזה כולל השמות והערכים של משתנים מקומיים שהוגדרו על ידי המשתמש והתוצאות של הערכות ביטויים.

שימו לב שההיקף לא כולל משתנים פנימיים שמקושרים לפונקציות מובנות של Workflows.

פרטים נוספים זמינים במאמר בנושא VariableData.

הצגת רשומות של שלבים במסוף

אפשר לראות את רשומות השלבים של הפעלת תהליך עבודה ספציפי במסוףGoogle Cloud .

  1. נכנסים לדף Workflows במסוף Google Cloud .

    כניסה לדף Workflows

  2. לוחצים על שם תהליך העבודה כדי לעבור לדף Workflow details (פרטי תהליך העבודה).

  3. כדי לראות פרטים על ביצוע מסוים, לוחצים על מזהה הביצוע שלו.

    בכרטיסייה סיכום מופיע מידע על ההפעלה הכוללת, כולל חריגים שהובילו לכישלון ההפעלה. מידע נוסף זמין במאמר בנושא מפות של שגיאות בהרצה.

  4. כדי לראות את היסטוריית ההרצה של תהליך העבודה כרשימה של רשומות שלבים, לוחצים על הכרטיסייה Steps (שלבים).

    מוצגות כל רשומות השלבים של הפעלת תהליך העבודה.

  5. כדי לסנן את הרשומות של השלבים, משתמשים בשדה Filter בחלק העליון של הטבלה כדי לבחור מאפיין וערך – לדוגמה, State: Failed.

  6. כדי להציג קישורים לכל הערכים של הורה, ילדים, הבא והקודם, לוחצים על ערך של שלב ספציפי.

    אם לוחצים על קישור, הקישורים האחרים מתעדכנים באופן אוטומטי. לדוגמה, אם תלחצו על הורה, תועברו להורה של רשומת השלב שלחצתם עליה.

  7. בחלונית המחשה ויזואלית מוצגת המחשה גרפית של השלבים בתהליך העבודה, והיא עוזרת להבין את הנתיב של תהליך העבודה.

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

    כדי להגדיל את התרשים, לוחצים עליו:

    חלונית ההמחשה שבה מוצג תהליך העבודה עם השלבים שנכשלו

    שימו לב שההדמיה יכולה להיות שונה מהערכים של השלבים. לדוגמה, בלוק for מוצג כרכיב יחיד בתרשים, אבל יכולות להיות כמה רשומות של שלבים, בהתאם למספר האיטרציות.

    בחלונית, אפשר:

    • הגדלה או הקטנה של התצוגה החזותית
    • כיווץ או הרחבה של רשומות של שלבי הורה
    • לוחצים על רשומה של שלב כדי לראות את הרשומות הקודמות והבאות שלה
    • לוודא שהזנת השלבים הצליחה או נכשלה, לפי סימן וי ירוק או סימן קריאה אדום
    • כדי לסגור את החלונית Visualization, לוחצים על חץ ההרחבה . כדי לפתוח את החלונית, לוחצים עליו שוב.

לפני שמקבלים רשומה של שלב

כדי לקבל את ההרשאות שנדרשות לאחזור של רשומה של שלב, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Workflows Admin (workflows.stepEntries.get) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

שליפת רשומה של שלב

כדי לאחזר רשומה של שלב בהרצת זרימת עבודה מסוימת, משתמשים בשיטה projects.locations.workflows.executions.stepEntries.get.

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

  • PROJECT_NUMBER: מספר הפרויקט שלכם שמופיע בדף IAM & Admin Settings. Google Cloud
  • LOCATION: האזור שבו תהליך העבודה נפרס. לדוגמה, us-central1.
  • WORKFLOW_ID: השם שהמשתמש הגדיר לזרימת העבודה. לדוגמה, myFirstWorkflow.
  • EXECUTION_ID: המזהה הייחודי של הרצת תהליך עבודה, שמוחזר אחרי שתהליך העבודה מורץ.
  • STEPENTRY_ID: המזהה הייחודי של רשומה של שלב. לדוגמה, 1.

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

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

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/STEPENTRY_ID",
  "createTime": "2024-08-15T19:03:08.328851864Z",
  "updateTime": "2024-08-15T19:03:08.331099634Z",
  "routine": "main",
  "step": "checkSearchTermInInput",
  "stepType": "STEP_CONDITION",
  "state": "STATE_SUCCEEDED",
  "entryId": "2",
  "navigationInfo": {
    "children": [
      "3"
    ],
    "parent": "1",
    "next": "3",
    "previous": "1"
  },
  "variableData": {}
}

לפני שמוסיפים רשומות של שלבים

כדי לקבל את ההרשאות שנדרשות להצגת רשומות של שלבים, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM ‏ (workflows.stepEntries.list) Workflows Admin בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

רשימת רשומות של שלבים

כדי להציג את רשומות השלבים של הפעלת תהליך עבודה מסוים, משתמשים בשיטה projects.locations.workflows.executions.stepEntries.list. כברירת מחדל, התוצאות מוחזרות בסדר עולה של createTimeשל רשומות השלבים.

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

  • PROJECT_NUMBER: מספר הפרויקט שלכם שמופיע בדף IAM & Admin Settings. Google Cloud
  • LOCATION: האזור שבו תהליך העבודה נפרס. לדוגמה, us-central1.
  • WORKFLOW_ID: השם שהמשתמש הגדיר לזרימת העבודה. לדוגמה, myFirstWorkflow.
  • EXECUTION_ID: המזהה הייחודי של הרצת תהליך עבודה, שמוחזר אחרי שתהליך העבודה מורץ.

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

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

{
  "stepEntries": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/1",
      "createTime": "2024-08-15T19:03:08.328807964Z",
      "updateTime": "2024-08-15T19:03:08.331099694Z",
      "routine": "main",
      "step": "checkSearchTermInInput",
      "stepType": "STEP_SWITCH",
      "state": "STATE_SUCCEEDED",
      "entryId": "1",
      "navigationInfo": {
        "children": [
          "2"
        ],
        "next": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/2",
      "createTime": "2024-08-15T19:03:08.328851864Z",
      "updateTime": "2024-08-15T19:03:08.331099634Z",
      "routine": "main",
      "step": "checkSearchTermInInput",
      "stepType": "STEP_CONDITION",
      "state": "STATE_SUCCEEDED",
      "entryId": "2",
      "navigationInfo": {
        "children": [
          "3"
        ],
        "parent": "1",
        "next": "3",
        "previous": "1"
      },
      "variableData": {}
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/3",
      "createTime": "2024-08-15T19:03:08.331037314Z",
      "updateTime": "2024-08-15T19:03:08.331099554Z",
      "routine": "main",
      "step": "checkSearchTermInInput.condition1",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "3",
      "navigationInfo": {
        "parent": "2",
        "next": "4",
        "previous": "2"
      },
      "variableData": {
        "variables": {
          "input": {
            "searchTerm": "asia"
          },
          "searchTerm": "asia"
        }
      }
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/4",
      "createTime": "2024-08-15T19:03:08.331100404Z",
      "updateTime": "2024-08-15T19:03:08.633741469Z",
      "routine": "main",
      "step": "readWikipedia",
      "stepType": "STEP_CALL",
      "state": "STATE_SUCCEEDED",
      "entryId": "4",
      "navigationInfo": {
        "next": "5",
        "previous": "3"
      },
      "variableData": {}
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/5",
      "createTime": "2024-08-15T19:03:08.633969694Z",
      "updateTime": "2024-08-15T19:03:08.634063018Z",
      "routine": "main",
      "step": "returnOutput",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "5",
      "navigationInfo": {
        "previous": "4"
      },
      "variableData": {
        "variables": {
          "wikiResult": {
            "headers": {
              ...
            },
            "body": [
              ...
            ],
            "code": 200
          },
          "input": {
            "searchTerm": "asia"
          },
          "searchTerm": "asia"
        }
      }
    }
  ],
  "totalSize": 5
}

מחיקת רשומות של שלבים

כדי למחוק את כל רשומות הצעדים של הרצת תהליך עבודה מסוים, משתמשים בשיטה projects.locations.workflows.executions.deleteExecutionHistory.

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

  • WORKFLOW_NAME: השם של תהליך העבודה.
  • PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud.
  • LOCATION: האזור שבו תהליך העבודה נפרס. לדוגמה, us-central1.
  • EXECUTION_ID: המזהה של הביצוע שרוצים למחוק את רשומות השלבים שלו.

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

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יהיה ריק.

דוגמאות

Workflow עם בלוק for

תהליך עבודה

YAML

- assignStep:
    assign:
      - sum: 0
- forStep:
    for:
      range: [1, 2]
      value: v
      steps:
        - sumStep:
            assign:
              - sum: ${sum + v}
- returnStep:
    return: ${sum}

JSON

[
  {
    "assignStep": {
      "assign": [
        {
          "sum": 0
        }
      ]
    }
  },
  {
    "forStep": {
      "for": {
        "range": [
          1,
          2
        ],
        "value": "v",
        "steps": [
          {
            "sumStep": {
              "assign": [
                {
                  "sum": "${sum + v}"
                }
              ]
            }
          }
        ]
      }
    }
  },
  {
    "returnStep": {
      "return": "${sum}"
    }
  }
]

דיאגרמה

Workflow with a for block
איור 1. תהליך עבודה עם בלוק for (כדי להגדיל את הדיאגרמה, לוחצים עליה).

רשומות שלבים

{
  "stepEntries": [
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/1",
      "createTime": "2024-08-15T19:32:18.119578307Z",
      "updateTime": "2024-08-15T19:32:18.119661828Z",
      "routine": "main",
      "step": "assignStep",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "1",
      "navigationInfo": {
        "next": "2"
      },
      "variableData": {
        "variables": {
          "sum": 0
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/2",
      "createTime": "2024-08-15T19:32:18.119662643Z",
      "updateTime": "2024-08-15T19:32:18.120893531Z",
      "routine": "main",
      "step": "forStep",
      "stepType": "STEP_FOR",
      "state": "STATE_SUCCEEDED",
      "entryId": "2",
      "navigationInfo": {
        "children": [
          "3",
          "5"
        ],
        "next": "3",
        "previous": "1"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "expectedIteration": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/3",
      "createTime": "2024-08-15T19:32:18.119732820Z",
      "updateTime": "2024-08-15T19:32:18.120463449Z",
      "routine": "main",
      "step": "forStep",
      "stepType": "STEP_FOR_ITERATION",
      "state": "STATE_SUCCEEDED",
      "entryId": "3",
      "navigationInfo": {
        "children": [
          "4"
        ],
        "parent": "2",
        "next": "4",
        "previous": "2"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "progressNumber": "1"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/4",
      "createTime": "2024-08-15T19:32:18.119737066Z",
      "updateTime": "2024-08-15T19:32:18.120463358Z",
      "routine": "main",
      "step": "sumStep",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "4",
      "navigationInfo": {
        "parent": "3",
        "next": "5",
        "previous": "3"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "progressNumber": "1"
      },
      "variableData": {
        "variables": {
          "sum": 1,
          "v": 1
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/5",
      "createTime": "2024-08-15T19:32:18.120465172Z",
      "updateTime": "2024-08-15T19:32:18.120893471Z",
      "routine": "main",
      "step": "forStep",
      "stepType": "STEP_FOR_ITERATION",
      "state": "STATE_SUCCEEDED",
      "entryId": "5",
      "navigationInfo": {
        "children": [
          "6"
        ],
        "parent": "2",
        "next": "6",
        "previous": "4"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "progressNumber": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/6",
      "createTime": "2024-08-15T19:32:18.120470187Z",
      "updateTime": "2024-08-15T19:32:18.120893389Z",
      "routine": "main",
      "step": "sumStep",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "6",
      "navigationInfo": {
        "parent": "5",
        "next": "7",
        "previous": "5"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "progressNumber": "2"
      },
      "variableData": {
        "variables": {
          "sum": 3,
          "v": 2
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/7",
      "createTime": "2024-08-15T19:32:18.120894873Z",
      "updateTime": "2024-08-15T19:32:18.121003185Z",
      "routine": "main",
      "step": "returnStep",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "7",
      "navigationInfo": {
        "previous": "6"
      },
      "variableData": {
        "variables": {
          "sum": 3
        }
      }
    }
  ],
  "totalSize": 7
}

תהליך עבודה עם קריאה לתהליך משנה

תהליך עבודה

YAML

main:
  steps:
    - callStep:
        call: square
        args:
          x: 10
        result: t
    - retStep:
        return: ${t}
square:
  params: [x]
  steps:
    - assignStep:
        assign:
          - y: ${x*x}
    - retStep:
        return: ${y}

JSON

{
  "main": {
    "steps": [
      {
        "callStep": {
          "call": "square",
          "args": {
            "x": 10
          },
          "result": "t"
        }
      },
      {
        "retStep": {
          "return": "${t}"
        }
      }
    ]
  },
  "square": {
    "params": [
      "x"
    ],
    "steps": [
      {
        "assignStep": {
          "assign": [
            {
              "y": "${x*x}"
            }
          ]
        }
      },
      {
        "retStep": {
          "return": "${y}"
        }
      }
    ]
  }
}

דיאגרמה

תהליך עבודה עם קריאה לתהליך משנה
איור 2. תהליך עבודה עם קריאה לתת-תהליך (אפשר ללחוץ על התרשים כדי להגדיל אותו).

רשומות שלבים

{
  "stepEntries": [
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/1",
      "createTime": "2024-08-15T19:37:44.162778920Z",
      "updateTime": "2024-08-15T19:37:44.168683007Z",
      "routine": "main",
      "step": "callStep",
      "stepType": "STEP_CALL",
      "state": "STATE_SUCCEEDED",
      "entryId": "1",
      "navigationInfo": {
        "children": [
          "2",
          "3"
        ],
        "next": "2"
      },
      "variableData": {
        "variables": {
          "t": 100
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/2",
      "createTime": "2024-08-15T19:37:44.168598736Z",
      "updateTime": "2024-08-15T19:37:44.168657969Z",
      "routine": "square",
      "step": "assignStep",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "2",
      "navigationInfo": {
        "parent": "1",
        "next": "3",
        "previous": "1"
      },
      "variableData": {
        "variables": {
          "y": 100,
          "x": 10
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/3",
      "createTime": "2024-08-15T19:37:44.168659349Z",
      "updateTime": "2024-08-15T19:37:44.168676547Z",
      "routine": "square",
      "step": "retStep",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "3",
      "navigationInfo": {
        "parent": "1",
        "next": "4",
        "previous": "2"
      },
      "variableData": {
        "variables": {
          "x": 10,
          "y": 100
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/4",
      "createTime": "2024-08-15T19:37:44.168693503Z",
      "updateTime": "2024-08-15T19:37:44.168702324Z",
      "routine": "main",
      "step": "retStep",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "4",
      "navigationInfo": {
        "previous": "3"
      },
      "variableData": {
        "variables": {
          "t": 100
        }
      }
    }
  ],
  "totalSize": 4
}

תהליך עבודה עם רשומה של שלב שנכשל

תהליך עבודה

YAML

- tryStep:
    try:
      return: ${1 / 0}
    except:
      return: 0

JSON

[
  {
    "tryStep": {
      "try": {
        "return": "${1 / 0}"
      },
      "except": {
        "return": 0
      }
    }
  }
]

דיאגרמה

תהליך עבודה עם רשומה של שלב שנכשל
איור 3. תהליך עבודה עם שלב שנכשל (כדי להגדיל את הדיאגרמה, לוחצים עליה).

רשומות שלבים

{
  "stepEntries": [
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/1",
      "createTime": "2024-08-15T19:42:51.415433810Z",
      "updateTime": "2024-08-15T19:42:51.416106923Z",
      "routine": "main",
      "step": "tryStep",
      "stepType": "STEP_TRY_RETRY_EXCEPT",
      "state": "STATE_SUCCEEDED",
      "entryId": "1",
      "navigationInfo": {
        "children": [
          "2",
          "4"
        ],
        "next": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/2",
      "createTime": "2024-08-15T19:42:51.415439617Z",
      "updateTime": "2024-08-15T19:42:51.416065206Z",
      "routine": "main",
      "step": "tryStep",
      "stepType": "STEP_TRY",
      "state": "STATE_FAILED",
      "entryId": "2",
      "navigationInfo": {
        "children": [
          "3"
        ],
        "parent": "1",
        "next": "3",
        "previous": "1"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/3",
      "createTime": "2024-08-15T19:42:51.415441815Z",
      "updateTime": "2024-08-15T19:42:51.416064665Z",
      "routine": "main",
      "step": "tryStep.try",
      "stepType": "STEP_RETURN",
      "state": "STATE_FAILED",
      "exception": {
        "payload": "{\"message\":\"ZeroDivisionError: division by zero\",\"tags\":[\"ZeroDivisionError\",\"ArithmeticError\"]}"
      },
      "entryId": "3",
      "navigationInfo": {
        "parent": "2",
        "next": "4",
        "previous": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/4",
      "createTime": "2024-08-15T19:42:51.416071869Z",
      "updateTime": "2024-08-15T19:42:51.416106840Z",
      "routine": "main",
      "step": "tryStep",
      "stepType": "STEP_EXCEPT",
      "state": "STATE_SUCCEEDED",
      "entryId": "4",
      "navigationInfo": {
        "children": [
          "5"
        ],
        "parent": "1",
        "next": "5",
        "previous": "3"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/5",
      "createTime": "2024-08-15T19:42:51.416087217Z",
      "updateTime": "2024-08-15T19:42:51.416106742Z",
      "routine": "main",
      "step": "tryStep.except",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "5",
      "navigationInfo": {
        "parent": "4",
        "previous": "4"
      },
      "variableData": {}
    }
  ],
  "totalSize": 5
}

המאמרים הבאים