כברירת מחדל, אם עבודה ב-Cloud Scheduler לא מקבלת אישור מהמטפל שלה, העבודה נחשבת כנכשלה, והמערכת תנסה לבצע אותה מחדש בהתאם להשהיה המעריכית לפני ניסיון חוזר (exponential backoff) שהגדרתם. אפשר לקבוע את התנהגות הניסיון החוזר הזה בדרכים הבאות כשיוצרים או מעדכנים משימה ב-Cloud Scheduler:
יצירת בקשת API ישירה והגדרת
RetryConfigההגדרות של משאבJob
ניסיון חוזר להגדרות
בטבלאות הבאות מתוארות הגדרות הניסיון החוזר שאפשר להגדיר.
מספר הניסיונות החוזרים המקסימלי
מספר הניסיונות שהמערכת תבצע כדי להריץ עבודה באמצעות ההשהיה המעריכית לפני ניסיון חוזר שמתוארת ב-maxDoublings.
| תיאור | אם אם אסור להזין ערכים שגדולים מ-5 וערכים שליליים. |
| ברירת מחדל | ברירת המחדל היא 0. |
| תווית קונסולה | מקסימום ניסיונות חוזרים |
| CLI flag | --max-retry-attempts |
| שדה API | retryCount |
משך הזמן המקסימלי לניסיון חוזר
הזמן המקסימלי לניסיון חוזר של עבודה שנכשלה, נמדד מהרגע שבו בוצע הניסיון הראשון להפעלה. אם מציינים את retryCount, המערכת תנסה שוב להריץ את העבודה עד ששתי המכסות ימוצו.
| תיאור | משך זמן בשניות עם עד תשע ספרות אחרי הנקודה, שמסתיים ב-s – לדוגמה, 3.5s. משך של 0 אומר שמשך הניסיון החוזר הוא בלתי מוגבל. עם זאת, אם
|
| ברירת מחדל | ברירת המחדל היא 0 שניות. |
| תווית קונסולה | משך הזמן המקסימלי לניסיון חוזר |
| CLI flag | --max-retry-duration |
| שדה API | maxRetryDuration |
משך ההשהיה לפני ניסיון חוזר מינימלי
הזמן המינימלי שצריך להמתין לפני שמנסים שוב להריץ משימה אחרי שהיא נכשלה.
| תיאור | משך זמן בשניות עם עד תשע ספרות אחרי הנקודה, שמסתיים ב-s – לדוגמה, 3.5s. |
| ברירת מחדל | ברירת המחדל היא 5 שניות. |
| תווית קונסולה | משך הזמן המינימלי להשהיה לפני ניסיון חוזר |
| CLI flag | --min-backoff |
| שדה API | minBackoffDuration |
משך הזמן המקסימלי של ההשהיה לפני ניסיון חוזר
הזמן המקסימלי להמתנה לפני ניסיון חוזר של עבודה שנכשלה.
| תיאור | משך זמן בשניות עם עד תשע ספרות אחרי הנקודה, שמסתיים ב-s – לדוגמה, 3.5s. |
| ברירת מחדל | ברירת המחדל היא 3,600 שניות (שעה). |
| תווית קונסולה | משך הזמן המקסימלי להשהיה |
| CLI flag | --max-backoff |
| שדה API | maxBackoffDuration |
מספר הכפלות מקסימלי
המספר המקסימלי של הפעמים שבהן המרווח בין ניסיונות חוזרים של משימה שנכשלה יוכפל לפני שההגדלה תהפוך לקבועה.
| תיאור | הזמן בין הניסיונות החוזרים יוכפל maxDoublings פעמים.
מרווח הזמן בין ניסיונות חוזרים של משימה מתחיל ב- אם
לכן, המערכת תנסה לשלוח שוב את הבקשות אחרי 10 שניות, 20 שניות, 40 שניות, 80 שניות ו-160 שניות. אם
לכן, המערכת תנסה לשלוח שוב את הבקשות אחרי 10 שניות, 20 שניות, 40 שניות, 80 שניות ו-120 שניות. |
| ברירת מחדל | ברירת המחדל היא 5. |
| תווית קונסולה | מספר הכפלות מקסימלי |
| CLI flag | --max-doublings |
| שדה API | maxDoublings |
דוגמאות לניסיון חוזר
בדוגמאות הבאות אפשר לראות את התנהגות הניסיון החוזר כשמשימה של Cloud Scheduler לא מסתיימת בהצלחה.
- אם לא מוגדרים הערכים של
retryCountו-maxRetryDuration שתי ההגדרות מוגדרות כברירת מחדל ל-0, והעבודה לא מנסה שוב בכלל.
שימו לב: Cloud Scheduler ינסה להריץ את המשימה בזמן ההרצה המתוזמן הבא.
- אם גם
retryCountוגםmaxRetryDurationמוגדרות המשימה תנסה שוב לפחות
retryCountפעמים עד שתגיע ל-maxRetryDuration.שימו לב: יכול להיות שהעבודה תנסה שוב יותר פעמים מהמספר שצוין ב-
retryCount.- אם
retryCountמוגדר ו-maxRetryDurationלא מוגדר הגדרת
maxRetryDurationהיא 0 כברירת מחדל, והמשימה תנסה שוב בדיוקretryCountפעמים.- אם
retryCountלא מוגדר ו-maxRetryDurationמוגדר המערכת תנסה להפעיל את העבודה שוב כמה פעמים שצריך (עד 5 פעמים) או עד שתגיע לערך
maxRetryDuration.