תזמון והרצה של משימת cron באמצעות מסוף Google Cloud
במדריך למתחילים הזה מוסבר איך להשתמש במסוף Google Cloud כדי לבצע כמה פעולות בסיסיות באמצעות Cloud Scheduler.
במדריך למתחילים הזה:
- יוצרים נושא Pub/Sub כדי להגדיר אותו כיעד של משימה ב-Cloud Scheduler.
- יוצרים משימת cron באמצעות Cloud Scheduler ומגדירים לוח זמנים חוזר למשימה.
- מריצים את העבודה.
- מוודאים שהעבודה בוצעה בהצלחה.
ל-Cloud Scheduler יש רמת שירות חינמית, והפעלת המדריך למתחילים הזה לא אמורה להיות כרוכה בעלויות. מידע נוסף על תמחור
לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לביצוע ההפעלה המהירה הזו, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- אדמין ב-Cloud Scheduler (
roles/cloudscheduler.admin) - עורך Pub/Sub (
roles/pubsub.editor)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת נושא ומינוי ב-Pub/Sub
נושא Pub/Sub הוא משאב שאפליקציות לשליחת הודעות יכולות לשלוח אליו הודעות. כדי לקבל הודעות שפורסמו בנושא מסוים, צריך ליצור מינוי לנושא הזה.
נכנסים לדף Pub/Sub במסוף Google Cloud .
לוחצים על יצירת נושא.
בשדה Topic ID (מזהה הנושא), מזינים cron-topic כמזהה של הנושא.
משאירים את הגדרות ברירת המחדל, כולל האפשרות הוספת מינוי ברירת מחדל.
לא בוחרים אפשרויות אחרות.
לוחצים על יצירה.
הפעולה הזו יוצרת נושא Pub/Sub בשם cron-topic ומינוי לנושא הזה בשם cron-topic-sub.
יצירת משימת cron באמצעות Cloud Scheduler
הגדרת יחידת עבודה מתוזמנת שנקראת משימת cron, שנשלחת ליעד בלוח זמנים חוזר.
נכנסים לדף Cloud Scheduler במסוף Google Cloud .
לוחצים על Create job (יצירת משימה).
נותנים שם לעבודה.
ברשימה Region, בוחרים אזור לעבודה.
מציינים תדירות למשימה בפורמט שמבוסס על unix-cron. לדוגמה:
30 16 * * 7מידע נוסף זמין במאמר בנושא הגדרת לוחות זמנים של משימות cron.
ברשימה אזור זמן, בוחרים אזור זמן.
במקרים מסוימים, שעון הקיץ יכול לגרום להרצת משימות או לאי-הרצתן באופן לא צפוי באזורי זמן מסוימים. מידע נוסף זמין במאמר בנושא אזור זמן.
לוחצים על Continue.
ברשימה Target type, בוחרים באפשרות Pub/Sub.
בוחרים את הנושא שיצרתם קודם:
cron-topic.בשדה גוף ההודעה, מזינים מחרוזת שתישלח לנושא היעד ב-Pub/Sub. לדוגמה: "Hello world!"
לוחצים על יצירה.
יצרתם משימה ששולחת הודעה לנושא Pub/Sub בשעה 16:30 בימי ראשון. עכשיו אפשר להריץ את העבודה.
הרצת המשימה
בנוסף להרצה לפי לוח הזמנים שצוין, אפשר להריץ את העבודה באופן מיידי.
נכנסים לדף Cloud Scheduler במסוף Google Cloud .
התפקיד שלכם אמור להופיע ברשימה.
בשורה של המשימה, לוחצים על פעולות > הפעלה בכפייה.
שימו לב: בגלל הגדרה ראשונית מסוימת, יכול להיות שיעברו כמה דקות עד שהעבודה הראשונה שנוצרה בפרויקט תפעל.
בעמודה Status of last execution (סטטוס ההפעלה האחרונה), הסטטוס
Successמציין שהפעלתם את משימת ה-cron בהצלחה.
אחר כך תוכלו לוודא שההודעה התקבלה ב-Pub/Sub.
אימות התוצאות ב-Pub/Sub
כדי לוודא שהנושא ב-Pub/Sub מקבל הודעות מהעבודה, צריך לשלוף הודעות Pub/Sub מהמינוי.
נכנסים לדף Pub/Sub subscriptions במסוף Google Cloud .
לוחצים על המינוי לנושא Pub/Sub.
לוחצים על הכרטיסייה הודעות.
לוחצים על Pull (משיכה).
אמורה להופיע ההודעה שפרסמתם, עם גוף ההודעה,
Hello world, והשעה שבה ההודעה פורסמה.
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:
מוחקים את משימת ה-cron שיצרתם:
נכנסים לדף Cloud Scheduler במסוף Google Cloud .
מסמנים את התיבה שלצד המשימה.
לוחצים על מחיקה ומאשרים את המחיקה.
מחיקת הנושא ב-Pub/Sub:
נכנסים לדף Pub/Sub במסוף Google Cloud .
מסמנים את התיבה של הנושא.
לוחצים על מחיקה ומאשרים את המחיקה.
מחיקת המינוי ל-Pub/Sub:
נכנסים לדף Pub/Sub במסוף Google Cloud .
מסמנים את התיבה של המינוי.
לוחצים על מחיקה ומאשרים את המחיקה.
לחלופין, אם יצרתם פרויקט חדש כדי ללמוד על Cloud Scheduler ואתם לא צריכים יותר את הפרויקט, אתם יכולים למחוק אותו:
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.