במאמר הזה נסביר איך ליצור באופן פרוגרמטי משימות של 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 באמצעות Google Cloud CLI או באמצעות שליחת בקשה ישירה אל Cloud Tasks API. מידע נוסף זמין במאמר יצירת משימות.
כללים לחומת אש ב-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.