בדף הזה מוסבר איך ליצור משימות של App Engine באופן פרוגרמטי ולהוסיף אותן לתורי משימות של Cloud Tasks.
בתהליך הזה אפשר לציין במפורש את השירות ואת ה-handler שאמורים לעבד את המשימה, ואפשר גם להעביר ל-handler נתונים ספציפיים למשימה. שירות Cloud Tasks מעביר את בקשת המשימה ל-handler, אבל הוורקר הזה נמצא ב-App Engine. לכן, לכל התורים שמטרגטים ל-handlers של App Engine צריך להיות App Engine app. ה-handlers צריכים לפעול באזור שבו פועל ה-App Engine app. האזור הזה משמש גם כפרמטר LOCATION_ID בבקשות שלכם ל-Cloud Tasks. מידע נוסף זמין במאמר תורים של Cloud Tasks עם יעדים של App Engine.
אפשר גם לבצע התאמות מדויקות בהגדרות של המשימה, כמו תזמון של מועד עתידי שבו היא תתבצע או הגבלת מספר הניסיונות החוזרים לביצוע המשימה אם היא נכשלת. אם בחרתם לציין שם למשימה, Cloud Tasks יכול להשתמש בשם הזה כדי לוודא ביטול כפילויות של משימות, אבל העיבוד שנדרש לכך עלול להוסיף זמן אחזור.
כללים לחומת אש ב-App Engine
בסביבה הרגילה של App Engine, חומת האש של App Engine יכולה לאפשר לתנועה פנימית מסוימת לעקוף את חומת האש. כלומר, אם מגדירים את הכלל default לערך deny, בקשות משירותים מסוימים שמיועדות לסביבת App Engine standard לא נחסמות. אלה כל סוגי התנועה שנדרשים בהגדרה של האפליקציה עצמה, או שנשלחים מאותה אפליקציה. בקשות שעוקפות את כללי חומת האש בדרך הזו כוללות גם משימות של App Engine ב-Cloud Tasks (כולל תורי משימות של App Engine).
כדי לאפשר בקשות נכנסות, אלה טווחי כתובות ה-IP למשימות של App Engine ב-Cloud Tasks (כולל תורי משימות של App Engine):
טווח כתובות ה-IP לבקשות שנשלחות לסביבה הרגילה של App Engine:
0.1.0.2/32(עוקף את כלל ברירת המחדל של חומת האש אם הוא מוגדר כדחייה)טווח כתובות ה-IP של בקשות שנשלחות לסביבה הגמישה של App Engine:
0.1.0.2/32
יצירת משימות באמצעות ספריות לקוח
יוצרים משימות בצורה של בקשת HTTP, שאפשר ליצור אותה איך שרוצים. עם זאת, שימוש בספריות הלקוח, כמו בדוגמאות הבאות, יכול לעזור לכם לנהל את הפרטים של תקשורת ברמה נמוכה עם השרת, כולל אימות באמצעות Google. כדי להוסיף משימה לתור, ראו הוספת משימה לתור של Cloud Tasks
C#
המשך
Java
שימו לב לקובץ pom.xml:
Node.js
שימו לב לקובץ package.json:
PHP
שימו לב לקובץ composer.json:
Python
שימו לב לקובץ requirements.txt:
Ruby
המאמרים הבאים
- מידע על יצירת רכיבי handler של משימות ב-App Engine
- מידע נוסף על משימות זמין במאמר בנושא הפניית API ל-RPC.
- מידע נוסף על משימות זמין בהפניית API בארכיטקטורת REST.