תזמון של תהליך עבודה באמצעות Cloud Scheduler

בדף הזה מוסבר איך להשתמש ב-Cloud Scheduler כדי להריץ תהליך עבודה בתזמון מסוים, למשל כל יום שני בשעה 9:00 או כל 15 דקות. אפשר להגדיר את לוח הזמנים במסוף Google Cloud או באמצעות Google Cloud CLI.

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

  1. אם עדיין אין לכם תהליך עבודה שאתם רוצים לתזמן, אתם צריכים ליצור ולפרוס אותו.
  2. מפעילים את Cloud Scheduler API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    להפעלת ה-API

  3. לחלופין, מזינים את הפקודה הבאה בטרמינל:
    gcloud services enable cloudscheduler.googleapis.com

תזמון תהליך עבודה

  1. יוצרים חשבון שירות כדי ש-Cloud Scheduler יוכל לשלוח בקשות אל Workflows API:

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

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

  2. כדי לאפשר לחשבון המשתמש שיריץ את הפקודות של Cloud Scheduler לפעול כחשבון שירות לניהול זהויות והרשאות גישה (IAM), צריך להקצות תפקיד שמאפשר לחשבון המשתמש להתחזות לחשבון השירות.

  3. נותנים לחשבון השירות החדש את התפקיד workflows.invoker כדי שלחשבון תהיה הרשאה להפעיל את תהליך העבודה:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
      --role roles/workflows.invoker

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

    • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
    • SERVICE_ACCOUNT_NAME: השם של חשבון השירות שיצרתם קודם.
  4. יוצרים משימה ב-Cloud Scheduler שמפעילה את תהליך העבודה, באמצעות חשבון השירות שיצרתם קודם לאימות.

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

    המסוף

    1. כדי לתזמן הפעלה של זרימת עבודה, עוברים לדף Workflows במסוף Google Cloud :

      כניסה לדף Workflows

    2. בדף Workflows, בוחרים תהליך עבודה כדי לעבור לדף הפרטים שלו.

    3. בדף פרטי תהליך העבודה, לוחצים על עריכה.

    4. בדף Edit workflow (עריכת תהליך העבודה), לוחצים על Add new trigger > Cloud Scheduler (הוספת טריגר חדש > Cloud Scheduler).

      נפתחת החלונית Create a Scheduler job.

    5. הגדרת לוח הזמנים:

      1. בשדה Name, מזינים שם למשימה ב-Cloud Scheduler. הוא חייב להיות ייחודי בין כל המשרות באותו אזור.

      2. ברשימה Region, בוחרים אזור מתאים, לדוגמה, us-central1.

      3. בשדה תדירות, מציינים את פרק הזמן שרוצים להגדיר בפורמט unix-cron. לדוגמה, כדי לתזמן את תהליך העבודה לביצוע כל 5 דקות, מקלידים */5 * * * *.

      4. ברשימה Timezone, בוחרים את אזור הזמן שבו Cloud Scheduler צריך להשתמש כדי לפרש את התזמון שסיפקתם. אפשר לחפש לפי מדינה.

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

    7. מגדירים את הביצוע: