אתם יכולים לעבור משימוש בשירות התורים של סביבת App Engine הרגילה (תורי משימות) דרך App Engine Task Queue API לגישה לאותו שירות באמצעות Cloud Tasks, שהוא API חדש ל-RPC/API בארכיטקטורת REST. אפשר להשתמש ב-Cloud Tasks מחוץ לסביבות זמן ריצה של הדור הראשון של App Engine, במיוחד מכל הסביבות הגמישות של App Engine, וגם מסביבות זמן ריצה רגילות של הדור השני של App Engine.
שירות Cloud Tasks ושירות תור המשימות הנוכחי של הסביבה הרגילה של App Engine נמצאים ביקום יחיד. אפשר להוסיף לאותם תורים באמצעות כל אחד מהממשקי API. בין אם משתמשים ב-App Engine SDK או ב-Cloud Tasks API החדש, תור באפליקציה מעביר משימה לכתובת URL של handler לעיבוד אסינכרוני.
תכונות חדשות
שירות Cloud Tasks מספק כמה תכונות שלא זמינות דרך App Engine SDK, כולל:
ניהול התור באמצעות ה-API:
אפשר ליצור, למחוק ולהשהות תורים, ולבצע משימות אחרות לניהול תורים באמצעות ה-API, דרך המסוף או באמצעות הפקודה
gcloud.הפקודה List Queues:
אתם יכולים להציג רשימה של כל התורים שהגדרתם בפרויקט.
הפקודה List Tasks:
אתם יכולים לראות רשימה של כל המשימות בכל אחד מהתורים שלכם.
שילוב של ניהול זהויות והרשאות גישה (IAM):
אתם יכולים לאבטח את הגישה לתורים ולמשימות בצורה מפורטת מאוד באמצעות IAM.
יעדי HTTP
אפשר לטרגט מטפלים בכל נקודת קצה של HTTP עם כתובת IP ציבורית.
תכונות ב-Task Queues שעדיין לא זמינות דרך Cloud Tasks API:
-
אפשר להשתמש ב-Cloud Pub/Sub, מוצר GA, כדי להטמיע הרבה מאותם תרחישי שימוש כמו תורי בקשות מסוג pull.
-
Cloud Tasks לא תומך בהוספת משימה לתור כחלק מעסקה ב-Cloud Datastore, כך שהמשימה תתווסף לתור רק אם העסקה תאושר בהצלחה – ויש הבטחה שהיא תתווסף לתור.
משימות שנדחו או שהושהה הטיפול בהן:
במקרים מסוימים שבהם צריך לטפל בסדרה של משימות קטנות ומגוונות באופן אסינכרוני, אבל לא רוצים להשקיע את המאמץ בהגדרת רכיבי handler נפרדים, ה-SDK של App Engine מאפשר להשתמש בספריות ספציפיות לזמן ריצה כדי ליצור פונקציות פשוטות לניהול המשימות האלה. התכונה הזו לא זמינה ב-Cloud Tasks. עם זאת, חשוב לזכור שאפשר לתזמן משימות רגילות לעתיד באמצעות Cloud Tasks.
-
חלק מסביבות זמן הריצה שמשתמשות ב-App Engine SDK כוללות ממשקי API שתומכים בריבוי דיירים של משימות באמצעות מרחבי שמות. התכונה הזו לא זמינה ב-Cloud Tasks.
-
שרת הפיתוח המקומי שמופיע ב-CLI של gcloud או ב-App Engine SDK לא תומך בנקודות קצה מדומה לקריאות ל-Cloud Tasks API.
-
משתמשים ב-App Engine SDK יכולים לבחור להוסיף משימות לתורים באופן אסינכרוני. התכונה הזו לא זמינה ב-Cloud Tasks.
למידע נוסף
מדריכים מפורטים יותר להעברת הקוד זמינים בסדרת המסמכים בנושא תור משימות של App Engine:
- מעבר מתורי שליפה ב-Python 2.7 ל-Pub/Sub
- מעבר מתורי דחיפה ב-Python 2.7 ל-Cloud Tasks
- מעבר מתורי שליפה ב-Java 8 ל-Pub/Sub
- העברה מ-Java 8 push queues ל-Cloud Tasks