טיפול בשגיאות באמצעות פרדיקט מותאם אישית

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

המשך למידה

לקבלת הסבר מפורט שכולל את דוגמת הקוד הזו, קראו את המאמר:

דוגמת קוד

YAML

# Define a custom error handler, custom predicate, and custom backoff parameters
# The `my_own_predicate` subworkflow accepts a map as an argument and defines the
# exception; it returns true if a retry; false, otherwise
# Expected outcome: the execution fails and returns an HTTP 404 Not Found error
main:
  steps:
    - read_item:
        try:
          call: http.get
          args:
            url: https://example.com/someapi
          result: api_response
        retry:
          predicate: ${my_own_predicate}
          max_retries: 5
          backoff:
            initial_delay: 2
            max_delay: 60
            multiplier: 2
    - last_step:
        return: "OK"

my_own_predicate:
  params: [e]
  steps:
    - log_error_tags:
        call: sys.log
        args:
          data: ${e.tags}
          severity: "INFO"
    - log_error_message:
        call: sys.log
        args:
          data: ${e.message}
          severity: "INFO"
    - log_error_code:
        call: sys.log
        args:
          data: ${e.code}
          severity: "INFO"
    - what_to_repeat:
        switch:
          - condition: ${e.code == 202}
            return: true
    - otherwise:
        return: false

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

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