בדף הזה מוסבר איך ליצור תורים של Cloud Tasks. כשמוסיפים משימות לתור, התור שולח אותן ומוודא שהן יעברו עיבוד מהימן על ידי שירות, שנקרא גם worker.
שימו לב לנקודות הבאות:
שמות התורים מורכבים משלושה חלקים: מזהה פרויקט, מיקום ומזהה תור. צריך שיהיה לכם Google Cloud פרויקט עם מזהה פרויקט.
אם אתם משתמשים במשימות יעד של App Engine, אתם צריכים גם אפליקציית App Engine שנמצאת באזור ספציפי, ושבה התור ומטפלי הבקשות פועלים. חשוב לשים לב לאזור כשמוסיפים את האפליקציה.
לא צריך אפליקציית App Engine כדי להשתמש במשימות HTTP Target. כשיוצרים את התור, בוחרים Google Cloud מיקום.
יצירת רשימת 'הבאים בתור'
אפשר ליצור תור בדרכים הבאות:
- במסוף Google Cloud
- באמצעות Google Cloud CLI בטרמינל או ב-Cloud Shell
- על ידי שליחת בקשה ישירה ל-Cloud Tasks API
המסוף
במסוף Google Cloud , נכנסים לדף Cloud Tasks > Queues.
לוחצים על יצירת תור.
מזינים שם תור – לדוגמה,
my-queue.ברשימה Region, בוחרים מיקום נתמך שבו התור יפעל – לדוגמה,
asia-south1.אם בארגון שלכם יש הגבלות על מיקום המשאבים ואתם רוצים ליצור את התור ב-
us-central1או ב-us-central2, מדיניות הארגון צריכה לאפשר יצירת תור גם ב-us-central1וגם ב-us-central2(גם אם אתם צריכים תור רק באחד מהאזורים האלה).אופציונלי, אפשר גם להגדיר את התור.
לוחצים על יצירה.
gcloud
משתמשים בפקודה gcloud tasks queues create כדי ליצור את התור:
gcloud tasks queues create QUEUE_ID \
--location=LOCATIONמחליפים את מה שכתוב בשדות הבאים:
QUEUE_ID: המזהה שאתם מקצים לתור, לדוגמה:my-queue.
LOCATION: אזור נתמך שבו התור יפעל. לדוגמה,asia-south1.אם בארגון שלכם יש הגבלות על מיקום המשאבים ואתם רוצים ליצור את התור ב-
us-central1או ב-us-central2, מדיניות הארגון צריכה לאפשר יצירת תור גם ב-us-central1וגם ב-us-central2(גם אם אתם צריכים תור רק באחד מהאזורים האלה).
דגלים אחרים של פקודת ה-CLI של gcloud מאפשרים להגדיר מגבלות קצב, אפשרויות ניסיון חוזר, סוגי תורים ועוד.
API בארכיטקטורת REST
כדי ליצור תור, משתמשים ב-method projects.locations.queues.create.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
LOCATION: אזור נתמך שבו התור יפעל. לדוגמה,asia-south1.אם בארגון שלכם יש הגבלות על מיקום המשאבים ואתם רוצים ליצור תור באזור
us-central1אוus-central2, מדיניות הארגון צריכה לאפשר יצירת תור גם באזורus-central1וגם באזורus-central2(גם אם אתם צריכים תור רק באחד מהאזורים האלה). -
QUEUE_ID: המזהה שהקציתם לתור. לדוגמה:my-queue.
Queue
המשאב כוללים מגבלות קצב, אפשרויות ניסיון חוזר, סוגי תורים ועוד.
תוכן בקשת JSON:
{
"name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע חדש של
Queue:
{
"name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
"rateLimits": {
"maxDispatchesPerSecond": 500,
"maxBurstSize": 100,
"maxConcurrentDispatches": 1000
},
"retryConfig": {
"maxAttempts": 100,
"minBackoff": "0.100s",
"maxBackoff": "3600s",
"maxDoublings": 16
},
"state": "RUNNING"
}
יכול להיות שיחלפו כמה דקות עד שהתור החדש שנוצר יהיה זמין.
תארו את התור
כדי לוודא שהתור נוצר בהצלחה, אפשר:
- במסוף Google Cloud
- שימוש ב-CLI של gcloud בטרמינל או ב-Cloud Shell
על ידי שליחת בקשה ישירה ל-Cloud Tasks API
המסוף
במסוף Google Cloud , נכנסים לדף Cloud Tasks > Queues.
סימן וי ירוק יציין שהתור פועל.
כדי לראות פרטים נוספים, לוחצים על שם התור ואז על הכרטיסייה Configuration.
gcloud
כדי לוודא שהתור נוצר בהצלחה, משתמשים בפקודה gcloud tasks queues describe:
gcloud tasks queues describe QUEUE_ID \
--location=LOCATIONמחליפים את מה שכתוב בשדות הבאים:
-
QUEUE_ID: מזהה התור (השם הקצר שלו) -
LOCATION: המיקום של התור
הפלט אמור להיראות כך:
name: projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID rateLimits: maxBurstSize: 100 maxConcurrentDispatches: 1000 maxDispatchesPerSecond: 500.0 retryConfig: maxAttempts: 100 maxBackoff: 3600s maxDoublings: 16 minBackoff: 0.100s state: RUNNING
API בארכיטקטורת REST
כדי לאחזר תור, משתמשים בשיטה projects.locations.queues.get.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
LOCATION: האזור שבו התור נפרס, למשלus-central1. -
QUEUE_ID: המזהה הקצר של התור. לדוגמה:my-queue.
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של
Queue:
{
"name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
"rateLimits": {
"maxDispatchesPerSecond": 500,
"maxBurstSize": 100,
"maxConcurrentDispatches": 1000
},
"retryConfig": {
"maxAttempts": 100,
"minBackoff": "0.100s",
"maxBackoff": "3600s",
"maxDoublings": 16
},
"state": "RUNNING"
}
פתרון בעיות ביצירת רשימת 'הבאים בתור'
אם לא מופיע הפלט הצפוי, אפשר לנסות את הפעולות הבאות:
- מחכים לפחות דקה עד שהתור יאותחל.
מוודאים שלא קיימת כבר רשימת המתנה עם אותו מזהה. כדי לראות את התורים בפרויקט, משתמשים בפקודה
gcloud tasks queues list:gcloud tasks queues list \ --location=LOCATIONכדי לחפש בכמה מיקומים, צריך לשלוח כמה בקשות.
בודקים אם הגעתם למכסת התור:
במסוף Google Cloud , עוברים לדף API/Service Details של Cloud Tasks API.
לוחצים על הכרטיסייה Quotas & System limits (מכסות ומגבלות מערכת).
כדי להגדיל את המכסה, בשורה של המכסה, לוחצים על סמל האליפסה > עריכת המכסה.
מריצים מחדש את הפקודות כדי ליצור את התור ומוודאים שכל שלב הושלם בצורה נכונה.
המאמרים הבאים
- הגדרת תורי משימות ב-Cloud Tasks
- הפניית API בארכיטקטורת REST
- הפניית API ל-RPC
- פקודות של Cloud Tasks
gcloud