אתם יכולים לעבור משימוש בשירות התורים של סביבת 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, כך שהמשימה מתווספת לתור רק אם העסקה מתבצעת בהצלחה – ויש הבטחה שהיא תתווסף לתור.
משימות שנדחו או שהושהה הביצוע שלהן:
במקרים מסוימים, יכול להיות שתצטרכו לטפל בסדרה של משימות קטנות ומגוונות באופן אסינכרוני, אבל לא תרצו להשקיע את הזמן בהגדרת מטפלים נפרדים. במקרים כאלה, ה-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 pull queues ל-Pub/Sub
- מעבר מ-Python 2.7 push queues ל-Cloud Tasks
- מעבר מתורי שליפה ב-Java 8 ל-Pub/Sub
- העברה מ-Java 8 push queues ל-Cloud Tasks