הגדרת מספר מקסימלי של ניסיונות חוזרים למשימות

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

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

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות להגדרת משימות של Cloud Run, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם עבודת Cloud Run שלכם מתקשרת עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.

הגדרת מספר מקסימלי של ניסיונות חוזרים

אפשר להגדיר מספר מקסימלי של ניסיונות חוזרים לעבודת Cloud Run באמצעותGoogle Cloud המסוף, ה-CLI של gcloud,‏ YAML או Terraform:

המסוף

  1. במסוף Google Cloud , נכנסים לדף Cloud Run:

    כניסה ל-Cloud Run

  2. בתפריט הניווט של Cloud Run, לוחצים על Jobs (משימות):

    1. אם יוצרים משימה חדשה, לוחצים על Deploy container (פריסת מאגר תגים) כדי למלא את דף ההגדרות הראשוני של המשימה.

    2. אם מגדירים עבודה קיימת, בוחרים את העבודה ולוחצים על View and edit job configuration (הצגה ועריכה של הגדרת העבודה).

  3. לוחצים על Containers, Connections, Security (מאגרי תגים, חיבורים, אבטחה) כדי להרחיב את דף מאפייני העבודה.

  4. בקטע Task capacity (קיבולת המשימה), מציינים את מספר הניסיונות החוזרים באמצעות מספר שלם מ-0 עד 10.

  5. לוחצים על יצירה או על עדכון.

gcloud

YAML

  1. אם אתם יוצרים משרה חדשה, דלגו על השלב הזה. אם אתם מעדכנים משימה קיימת, אתם צריכים להוריד את הגדרת ה-YAML שלה:

    gcloud run jobs describe JOB --format export > job.yaml
  2. מעדכנים את מאפיין maxRetries::

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - image: IMAGE_URL
              maxRetries: RETRY

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫JOB: השם של המשימה ב-Cloud Run.
    • ‫IMAGE_URL: הפניה לקובץ אימג' של קונטיינר, לדוגמה us-docker.pkg.dev/cloudrun/container/job:latest.
    • RETRY: מספר הניסיונות החוזרים. מציינים מספר שלם מ-0 עד 10.
  3. יוצרים או מעדכנים את העבודה באמצעות הפקודה הבאה:

    gcloud run jobs replace job.yaml

    אם קיים קובץ job.yaml, הפקודה gcloud run jobs replace משתמשת בו כברירת מחדל.

Terraform

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

מוסיפים את השורות הבאות למשאב google_cloud_run_v2_job בתצורת Terraform:
resource "google_cloud_run_v2_job" "default" {
  name     = "cloud-run-job-retries"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    template {
      max_retries = 3

      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job:latest"
      }
    }
  }
}

הצגת הגדרות של מספר ניסיונות חוזרים מקסימלי

כדי לראות את ההגדרות הנוכחיות של מספר הניסיונות החוזרים המקסימליים לעבודת Cloud Run, משתמשים במסוף Google Cloud או ב-Google Cloud CLI:

המסוף

  1. במסוף Google Cloud , נכנסים לדף Cloud Run jobs:

    כניסה לדף Cloud Run jobs

  2. לוחצים על המשרה כדי לפתוח את הדף פרטי המשרה.

  3. לוחצים על הצגה ועריכה של הגדרות העבודה.

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

gcloud

  1. מריצים את הפקודה הבאה:

    gcloud run jobs describe JOB
  2. מאתרים את ההגדרה של מספר הניסיונות המקסימלי בתצורה שמוחזרת.