תזמון והרצה של משימת cron באמצעות מסוף Google Cloud

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

במדריך למתחילים הזה:

  1. יוצרים נושא Pub/Sub כדי להגדיר אותו כיעד של משימה ב-Cloud Scheduler.
  2. יוצרים משימת cron באמצעות Cloud Scheduler ומגדירים לוח זמנים חוזר למשימה.
  3. מריצים את העבודה.
  4. מוודאים שהעבודה בוצעה בהצלחה.

ל-Cloud Scheduler יש רמת שירות חינמית, והפעלת המדריך למתחילים הזה לא אמורה להיות כרוכה בעלויות. מידע נוסף על תמחור


לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :

תראו לי איך


לפני שמתחילים

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Cloud Scheduler and Pub/Sub APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Cloud Scheduler and Pub/Sub APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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

כדי לקבל את ההרשאות שדרושות לביצוע ההפעלה המהירה הזו, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

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

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

יצירת נושא ומינוי ב-Pub/Sub

נושא Pub/Sub הוא משאב שאפליקציות לשליחת הודעות יכולות לשלוח אליו הודעות. כדי לקבל הודעות שפורסמו בנושא מסוים, צריך ליצור מינוי לנושא הזה.

  1. נכנסים לדף Pub/Sub במסוף Google Cloud .

    מעבר אל Pub/Sub

  2. לוחצים על יצירת נושא.

  3. בשדה Topic ID (מזהה הנושא), מזינים cron-topic כמזהה של הנושא.

  4. משאירים את הגדרות ברירת המחדל, כולל האפשרות הוספת מינוי ברירת מחדל.

  5. לא בוחרים אפשרויות אחרות.

  6. לוחצים על יצירה.

הפעולה הזו יוצרת נושא Pub/Sub בשם cron-topic ומינוי לנושא הזה בשם cron-topic-sub.

יצירת משימת cron באמצעות Cloud Scheduler

הגדרת יחידת עבודה מתוזמנת שנקראת משימת cron, שנשלחת ליעד בלוח זמנים חוזר.

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

    כניסה ל-Cloud Scheduler

  2. לוחצים על Create job (יצירת משימה).

  3. נותנים שם לעבודה.

  4. ברשימה Region, בוחרים אזור לעבודה.

  5. מציינים תדירות למשימה בפורמט שמבוסס על unix-cron. לדוגמה:

    30 16 * * 7
    

    מידע נוסף זמין במאמר בנושא הגדרת לוחות זמנים של משימות cron.

  6. ברשימה אזור זמן, בוחרים אזור זמן.

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

  7. לוחצים על Continue.

  8. ברשימה Target type, בוחרים באפשרות Pub/Sub.

  9. בוחרים את הנושא שיצרתם קודם: cron-topic.

  10. בשדה גוף ההודעה, מזינים מחרוזת שתישלח לנושא היעד ב-Pub/Sub. לדוגמה: "Hello world!"

  11. לוחצים על יצירה.

יצרתם משימה ששולחת הודעה לנושא Pub/Sub בשעה 16:30 בימי ראשון. עכשיו אפשר להריץ את העבודה.

הרצת המשימה

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

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

    כניסה ל-Cloud Scheduler

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

  2. בשורה של המשימה, לוחצים על פעולות > הפעלה בכפייה.

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

  3. בעמודה Status of last execution (סטטוס ההפעלה האחרונה), הסטטוס Success מציין שהפעלתם את משימת ה-cron בהצלחה.

אחר כך תוכלו לוודא שההודעה התקבלה ב-Pub/Sub.

אימות התוצאות ב-Pub/Sub

כדי לוודא שהנושא ב-Pub/Sub מקבל הודעות מהעבודה, צריך לשלוף הודעות Pub/Sub מהמינוי.

  1. נכנסים לדף Pub/Sub subscriptions במסוף Google Cloud .

    מעבר אל Pub/Sub

  2. לוחצים על המינוי לנושא Pub/Sub.

  3. לוחצים על הכרטיסייה הודעות.

  4. לוחצים על Pull (משיכה).

אמורה להופיע ההודעה שפרסמתם, עם גוף ההודעה, Hello world, והשעה שבה ההודעה פורסמה.

הסרת המשאבים

כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:

  1. מוחקים את משימת ה-cron שיצרתם:

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

      כניסה ל-Cloud Scheduler

    2. מסמנים את התיבה שלצד המשימה.

    3. לוחצים על מחיקה ומאשרים את המחיקה.

  2. מחיקת הנושא ב-Pub/Sub:

    1. נכנסים לדף Pub/Sub במסוף Google Cloud .

      מעבר אל Pub/Sub

    2. מסמנים את התיבה של הנושא.

    3. לוחצים על מחיקה ומאשרים את המחיקה.

  3. מחיקת המינוי ל-Pub/Sub:

    1. נכנסים לדף Pub/Sub במסוף Google Cloud .

      מעבר אל Pub/Sub

    2. מסמנים את התיבה של המינוי.

    3. לוחצים על מחיקה ומאשרים את המחיקה.

  4. לחלופין, אם יצרתם פרויקט חדש כדי ללמוד על Cloud Scheduler ואתם לא צריכים יותר את הפרויקט, אתם יכולים למחוק אותו:

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

      כניסה לדף Manage resources

    2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
    3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

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