כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
סקירה כללית של המשימות המתוזמנות
המונטיזציה מספקת מתזמן משימות וקבוצה של משימות שמתוזמנות מראש לפעול בשעות שצוינו.
בטבלה הבאה מפורטות המשימות המתוזמנות שסופקו על ידי המונטיזציה והשעות שבהן הן מתוזמנות לפעול (כל הזמנים הרשומים לפי שעון UTC). מופיע גם הטריגר לכל משימה.
משרה | התיאור | לוח זמנים (שעון UTC) | Trigger |
---|---|---|---|
שיעור מס למפתחים חודשי | המערכת מאחזרת את שיעור המס ממנוע המס של כל מפתח, ומעדכנת בישות המפתח את שיעור המס המעודכן. | ביום הראשון של כל חודש בשעה 5:45 | MINT.MONTHLY_DEV_TAXRATE@@@ |
חידוש המינוי | חלות עמלות חוזרות לתוכניות תעריפים פעילות או עמלות חדשות לתוכניות תעריפים עתידיות שמתחילות ביום הנוכחי. | בכל יום ב-5 שניות אחרי חצות | MINT.RENEW_SUBSCRIPTIONS@@@ |
עדכון XeFeed | מקבלת את שער החליפין בדולר ארה"ב לכל מטבע נתמך. | בכל יום בשנייה אחרי חצות | MINT.XEFEED@@@ |
חידוש תוכנית התעריפים למפתחים | מתבצע מעבר לתאריכי החידוש של תוכנית התמחור והתשלומים ומחשב את עמלות הסיום המוקדמות. | כל יום בשעה 02:20 | MINT.RENEW_DEV_RATEPLAN@@@ |
נסה שוב את הממסר לעסקה | הערה: המשימה הזו הוצאה משימוש ואין לה השפעה על המונטיזציה. | כל יום בשעה 4:30 | MINT.RETRY_TX_RELAY@@@ |
מבצע ניקוי עסקאות | הערה: המשימה הזו הוצאה משימוש ואין לה השפעה על המונטיזציה. | כל יום בשעה 5:30 | MINT.TX_CLEANSER@@@ |
בדיקת היתרה למפתחים | בודקת את היתרה בחשבון הפיתוח. מעתיק לטבלת ביקורת את השימוש הנוכחי ואת היתרה ששולמה מראש או את מסגרת האשראי בתשלום לאחר השימוש, ואז מנכה את השימוש הנוכחי מחשבון הפיתוח ומחזיר את יתרת השימוש לאפס. | היום הראשון של כל חודש ב-5 שניות אחרי חצות | MINT.DEVELOPER_BALANCE_AUDIT@@@ |
מסמכי חיוב חודשי | יצירת מסמכי חיוב. הערה: ב-Apigee אין יותר תמיכה ביצירת מסמכי חיוב מהמונטיזציה ב-Apigee Edge. למידע נוסף, ראו פרישות. |
היום ה-11 בכל חודש בדקה אחת אחרי חצות | MINT.MONTLY_BILLING_DOCS@@@ |
מונה של תוכניות תעריפים למפתחים | הערה: המשימה הזו הוצאה משימוש ואין לה השפעה על המונטיזציה. | בכל יום ב-3 שניות אחרי חצות | MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@ |
חיובים יומיים | הפונקציה מחשבת מחדש את כל הסכומים הכוללים של העסקאות לפי שעה, ומשתמשת בהם כדי לחשב את הסכומים הכוללים היומיים של היום הקודם. | כל יום בשעה 1:20 | MINT.CHARGE_DAILY@@@ |
חיובים לפי שעה | מחשבת את כל הסכומים הכוללים של העסקאות לכל רבעון שעה. | דקה אחת אחרי כל רבע שעה | MINT.CHARGE_HOURLY@@@ |
רענון הגדרת ההתראות | יוצר מחדש את כל התנאים של התראות באינדקס. | כל 5 דקות | MINT.REFRESH_NOTIFICATION_CONFIG@@@ |
שליחת התראות באימייל | שולח הודעות אימייל שהצטברו | כל שעה | MINT.EMAIL_NOTIFICATION@@@ |
רענון המגבלה | הערה: המשימה הזו הוצאה משימוש ואין לה השפעה על המונטיזציה. | לא רלוונטי (לא מופעל אף פעם) | MINT.REFRESH_LIMIT@@@ |
בנוסף למשימות שצוינו למעלה, יש משימות שאפשר להפעיל באמצעות התראות על אירועים, כפי שהן מפורטות בטבלה הבאה. מידע נוסף זמין במאמר הגדרת התראות.
משימה | התיאור | תזמון | Trigger |
---|---|---|---|
הודעה על חבילה חדשה | נשלחת התראה לכל המפתחים על כך שחבילת API חדשה זמינה. |
פועל פעם אחת – ביום שבו המשימה מופעלת בשעה 21:00.
הערה: ההתראות נשלחות פעם אחת בלבד, גם אם הגדרתם |
MINT.NEW_PACKAGE_NOTIFY@@@ |
הודעה חדשה על אד-הוק | נשלחת התראה לכל המפתחים על כך שמוצרי API חדשים זמינים בשווקים גיאוגרפיים ספציפיים. |
פועל פעם אחת – ביום שבו המשימה מופעלת בשעה 21:00.
הערה: ההתראות נשלחות פעם אחת בלבד, גם אם הגדרתם |
MINT.ADHOC_NOTIFY@@@ |
התראה על מוצר חדש | נשלחת התראה לכל המפתחים על כך שיש מוצר חדש של API. |
פועל פעם אחת – ביום שבו המשימה מופעלת בשעה 21:00.
הערה: ההתראות נשלחות פעם אחת בלבד, גם אם הגדרתם |
MINT.NEW_PRODUCT_NOTIFY@@@ |
הודעה לגבי תוכנית תעריפים חדשה |
נשלחת התראה למפתחים שמושפעים מהשינוי על כך שיש תוכנית תמחור חדשה זמינה. כל המפתחים שנרשמו לתוכנית התעריפים ההורה מקבלים הודעה על כך שתוכנית המחירים החדשה פעילה. כמו כן:
|
פועל בתאריך ההתחלה של תוכנית התמחור החדשה, בשעה 4:30. | MINT.NEW_RATEPLAN_NOTIFY@@@ |
Tnc חדש | נשלחת הודעה למפתחים המושפעים מכך שהתנאים וההגבלות החדשים או המעודכנים פורסמו (והמפתח עדיין לא אישר אותם). | המבצע מופעל בשעה 30, 7 ויום אחד לפני תאריך ההתחלה של התנאים וההגבלות החדשים או המעודכנים, בשעה 21:00. | MINT.TNC_ACCEPTANCE_NOTIFY@@@ |
תוכנית תעריפים עומדת לפוג | נשלחת התראה למפתחים הרלוונטיים כדי לספק אזהרה מראש על כך שתוכנית התעריפים עומדת לפוג. | פועל בשעה 30, 7 ויום אחד לפני פקיעת תוכנית התעריפים, בשעה 21:00 | MINT.EXPIRING_RATE_PLAN_NOTIFY@@@ |
ניהול לוח הזמנים של משימת המונטיזציה באמצעות ה-API
בקטעים הבאים מוסבר איך לנהל את לוח הזמנים של משימות המונטיזציה באמצעות ה-API:
- הגדרת טריגרים
- יצירת ביטויי cron
- איך רואים משימות מתוזמנות באמצעות ה-API
- עדכון משימות מתוזמנות באמצעות ה-API
- השבתה והפעלה מחדש של משימה מתוזמנת באמצעות ה-API
מידע נוסף על ממשקי ה-API שמתוארים בקטע הזה מופיע בקטע Scheduled Tasks בחומר העזר בנושא API.
הגדרת טריגרים
המתזמן מסתמך על טריגרים כדי לבצע משימות. משימה מתוזמנת מופעלת כשהטריגר המשויך אליה מתבצע. המאפיינים של טריגר מגדירים את ביצוע המשימה. על ידי הגדרת הערך של המאפיינים האלה אפשר לשלוט במאפיינים של ביצוע המשימה, כמו מועד הביצוע של המשימה והתדירות שבה.
שני הסוגים הנפוצים ביותר של טריגרים הם טריגרים מסוג cron וטריגרים פשוטים. לטריגר cron יש מאפיין cronExpression
שמציין
לוח זמנים להפעלה. לטריגר פשוט אין מאפיין cronExpression
. צריך לציין את
startTime
כדי לציין מתי הטריגר נכנס לתוקף, ואפשר גם לציין את endTime
.
מאפייני הטריגר הם: (כל הזמנים הרשומים לפי שעון UTC):
נכס | התיאור |
---|---|
cronExpression |
ביטוי cron כדי ליצור לוח זמנים לביצוע עבור הטריגר, כמו: "At 8:00 A.M.
בכל יום שני עד שישי" או "ב-1:30 בבוקר בכל יום שישי האחרון של החודש". פרטים נוספים זמינים במאמר
יצירת ביטויי cron.
ציון המאפיין הזה מגדיר את הטריגר כטריגר מסוג cron. הערה: אם מציינים גם |
enabled |
סימון שמציין אם הטריגר מופעל להפעלה. הערך יכול להיות אחת מהאפשרויות הבאות:
|
endTime |
משך הזמן בפורמט של זמן מערכת שבו לוח הזמנים של הטריגר כבר לא בתוקף. |
group |
סוג השרת שבו יופעל הטריגר. לדוגמה, אם הטריגר אמור לפעול בשרת ניהול, הערך צריך להיות מוגדר ל-management-server . אם הטריגר אמור לפעול בשרת לעיבוד הודעות, הערך צריך להיות מוגדר ל-message-processor . |
id |
זיהוי הטריגר. |
jobId |
זיהוי המשימה שצריך לבצע. |
name |
השם הייחודי שמשמש לזיהוי הטריגר. |
priority |
עדיפות הביצוע היחסית של הטריגרים, אם מספר טריגרים מתוזמנים להפעלה באותו זמן. ככל שהערך נמוך יותר, כך העדיפות גבוהה יותר. לדוגמה, אם שני טריגרים מתוזמנים לפעול בו-זמנית, ואם לטריגר אחד יש עדיפות של 1 ולטריגר השני בעדיפות של 2, הטריגר עם העדיפות 1 יופעל ראשון.
המאפיין הזה רלוונטי רק אם לטריגרים מרובים יש זמן ביצוע זהה בדיוק. |
startTime |
רלוונטי רק לטריגרים פשוטים.
הזמן בפורמט של זמן מערכת שבו לוח הזמנים של הטריגר נכנס לתוקף. הערה: אם מציינים גם |
suiteId |
סימון שמציין אם חלק ההתראות בחבילת ההתראות ברמת המערכת או ברמת ברירת המחדל הערכים החוקיים הם DEFAULT או SYSTEM , או
שניתן לציין שם חבילה ייחודי משלך. |
triggerDataMap |
מפתח נעילה, custom_lock_key , שמונע משרתים מרובים לבצע את אותה משימה בו-זמנית. |
בניית ביטויי cron
ביטוי cron הוא מחרוזת שמורכבת משישה או שבעה שדות המופרדים באמצעות רווח. הביטוי מייצג קבוצת זמנים, בדרך כלל כלוח זמנים להפעלת תרחיש. ביטויי cron
שצוינו במאפיין cronExpression
של טריגר משמשים
לתזמון הביצוע של הטריגר.
s
m h dm m dw y
כאשר:
שדה | התיאור | נדרש | ערכים מותרים | תווים מיוחדים מותרים |
---|---|---|---|---|
s |
שניות | כן | 0-59 | , - * / |
m |
דקות | כן | 0-59 | , - * / |
h |
שעות פעילות | כן | 0-23 | , - * / |
dm |
היום בחודש | כן | 0-31 | , - * ? / שמאל מע' |
m |
חודש | כן | 1-12 או ינו' עד דצמבר | , - * / |
dw |
יום בשבוע | כן | 1-7 או א'-ש' | , - * ? / ל' # |
y |
שנה | לא | ריקה או 1970-2099 | , - * / |
התווים המיוחדים מוגדרים כך:
תו מיוחד | התיאור |
---|---|
* | משמש לבחירת כל הערכים בשדה. לדוגמה, * בשדה הדקות פירושו כל דקה. |
? | משמש לציון פריט באחד משני השדות שבו אפשר להשתמש בתו, אבל לא בשדה השני. לדוגמה, אם רוצים שהטריגר יתבצע ביום מסוים בחודש (למשל ב-10 בחודש), אבל לא חשוב לכם באיזה יום בשבוע, צריך לציין את הערך 10 בשדה של היום בחודש ו-? בשדה היום בשבוע. |
- | משמש לציון טווחים. לדוגמה, הערך 10-12 בשדה השעה מייצג את השעות 10, 11 ו-12. |
, | משמש לציון ערכים נוספים. לדוגמה, המשמעות של MON,WED, FRI בשדה של יום בשבוע היא הימים שני, רביעי ושישי. |
/ | משמש לציון מרווחים. לדוגמה, 0/15 בשדה השניות מייצג את השניות 0, 15, 30 ו-45. ו-5/15 בשדה השניות מייצג את השניות 5, 20, 35 ו-50. אפשר גם לציין / אחרי התו '. פעולה זו מקבילה ל-0 לפני /. ציון 1/3 בשדה של היום בחודש פירושו שההפעלות מתבצעות כל 3 ימים החל מהיום הראשון בחודש. |
L | יש משמעות שונה בכל אחד משני השדות שבהם מותר. L בשדה היום בחודש פירושו היום האחרון בחודש, כלומר יום 31 בינואר, או יום 28 עבור פברואר בשנים שאינן מעוברות. בשדה של היום בשבוע, המשמעות של L היא היום האחרון בשבוע, כלומר 7 או SAT. אבל אם משתמשים בשדה של היום בשבוע אחרי ערך אחר, המשמעות היא היום האחרון ב-xxx בחודש. לדוגמה, 6L פירושו יום שישי האחרון של החודש. |
W | משמש לציון היום בשבוע (שני עד שישי) הקרוב ביותר ליום הנתון. לדוגמה, אם מציינים 15 ואט בשדה של היום בחודש, המשמעות היא שהיום הקרוב ביותר ליום בשבוע הוא היום ה-15 בחודש. כך שאם ה-15 בחודש הוא יום שבת, הטריגר יתבצע ביום שישי ה-14. אם 15 בחודש הוא יום ראשון, הטריגר יופעל ביום שני ה-16. אם 15 בחודש הוא יום שלישי, האימות יתבצע ביום שלישי, 15 בחודש. עם זאת, אם מציינים 1W עבור יום בחודש, וה-1 הוא יום שבת, הטריגר יופעל ביום שני השלישי כי לא "תדלג" בין הימים בחודש. אפשר לציין את התו W רק כאשר היום בחודש הוא יום אחד, לא טווח או רשימת ימים. |
# | משמש לציון היום ה-XXX של החודש. לדוגמה, הערך 6#3 בשדה של יום בשבוע מייצג את יום שישי השלישי בחודש (יום 6 = יום שישי ו-#3 = השלישי בחודש). דוגמאות אחרות: 2#1 = יום שני הראשון של החודש, 4#5 = יום רביעי החמישי בחודש. |
הנה כמה דוגמאות לביטויי cron (כל הזמנים הרשומים לפי שעון UTC):
ביטוי cron | לוח זמנים לביצוע |
---|---|
0 0 12 * * ? | כל יום בשעה 12:00 (צהריים). |
0 15 10 * * ? 2013 | 10:15 מדי יום במהלך שנת 2013. |
0 10,44 14 ? 3 דפ | 14:10 ובשעה 14:44 בכל יום רביעי בחודש מרץ. |
0 15 10 ? * 6L 2013-2015 | 10:15 בבוקר ביום שישי האחרון של כל חודש במהלך השנים 2013, 2014 ו-2015. |
0 15 10 ? * 6#3 | ביום שישי השלישי של כל חודש, בשעה 10:15 בבוקר. |
איך רואים את המשימות המתוזמנות באמצעות ה-API
כדי לראות את כל המשימות המתוזמנות הנוכחיות, צריך לשלוח בקשת GET אל
/triggers?orgid={org_name}
.
לדוגמה:
$ curl -H "Accept:application/json" -X GET \ "http://localhost:8080/v1/mint/triggers?orgid={org_name}" \ -u email:password
למטה מוצגת דוגמה לתשובה:
[ { "createdDate" : 1457924378176, "cronExpression" : "3 0 0 * * ?", "enabled" : true, "group" : "management-server", "id" : "MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT", "jobId" : "MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@management-server", "name" : "MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@management-server@@@DEFAULT", "priority" : "1", "suiteId" : "DEFAULT", "triggerDataMap" : { "custom_lock_key" : "mint.scheduler.__ORG_ID__.resetdeveloperrateplancounter@@@management" }, "updatedDate" : 1457924378176 }, { "createdDate" : 1457924378014, "cronExpression" : "", "enabled" : true, "group" : "management-server", "id" : "MINT.ADHOC_NOTIFY@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT", "jobId" : "MINT.ADHOC_NOTIFY@@@management-server", "name" : "MINT.ADHOC_NOTIFY@@@management-server@@@DEFAULT", "priority" : "4", "startTime" : "1372916749000", "suiteId" : "DEFAULT", "triggerDataMap" : { "custom_lock_key" : "mint.scheduler.__ORG_ID__.adhocnotify@@@management" }, "updatedDate" : 1457924378014 }, { "createdDate" : 1457924377877, "cronExpression" : "0 20 1 * * ?", "enabled" : true, "group" : "management-server", "id" : "MINT.CHARGE_DAILY@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT", "jobId" : "MINT.CHARGE_DAILY@@@management-server", "name" : "MINT.CHARGE_DAILY@@@management-server@@@DEFAULT", "priority" : "1", "suiteId" : "DEFAULT", "triggerDataMap" : { "custom_lock_key" : "mint.scheduler.__ORG_ID__.chargedaily@@@management" }, "updatedDate" : 1457924377877 }, ... ]
אפשר גם להציג משימה מתוזמנת ספציפית על ידי שליחה של בקשת GET אל
/triggers/{trig_id}
. {trig_id}
היא הזיהוי של הטריגר של המשימה, כפי שמתואר במאמר סקירה כללית של משימות מתוזמנות. לדוגמה:
$ curl -X GET \ "http://localhost:8080/v1/mint/triggers/MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT" \ -u email:password
למטה מוצגת דוגמה לתשובה:
{ "createdDate" : 1457924377925, "cronExpression" : "0 20 2 * * ?", "enabled" : true, "group" : "management-server", "id" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT", "jobId" : "MINT.RENEW_DEV_RATEPLAN@@@management-server", "name" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT", "priority" : "1", "suiteId" : "DEFAULT", "triggerDataMap" : { "custom_lock_key" : "mint.scheduler.__ORG_ID__.renewydevrateplan@@@management" }, "updatedDate" : 1457924377925 }
עדכון משימות מתוזמנות באמצעות ה-API
כדי לעדכן משימה מתוזמנת, אפשר לשנות את המאפיינים של הטריגר שלה. לדוגמה, יכול להיות שתצטרכו לשנות את לוח הזמנים של הטריגר.
במשימות של טריגר מסוג cron (כלומר, משימות שכוללות ערך של ביטוי cron), אפשר לשנות רק את הערכים של cronExpression
ושל המאפיינים שהופעלו. המערכת תתעלם
משינויים אחרים. אפשר לשנות מאפיינים אחרים כמו startTime
או priority
למשימות שלא צוין בהן ערך של ביטוי cron.
כדי לעדכן משימה מתוזמנת, שולחים בקשת PUT אל /triggers/{trig_id}
, שבה
{trig_id}
הוא המזהה של הטריגר של המשימה, כפי שמתואר בסקירה כללית של משימות מתוזמנות. כשמבצעים את העדכון, צריך לציין בגוף הבקשה את ההגדרות המעודכנות ואת המזהה של הטריגר.
לדוגמה, הבקשה הבאה מעדכנת את ביטוי ה-cron של משימת החידוש של 'תוכנית תעריפים למפתחים' חדשה כך שתרוץ מדי יום בשעה 05:00 לפי שעון UTC:
$ curl -H "Content-Type: application/json" -X PUT -d \ '{ "cronExpression" : "0 0 5 * * ?", "enabled" : true, "group" : "management-server", "id" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT", "jobId" : "MINT.RENEW_DEV_RATEPLAN@@@management-server", "name" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT", "priority" : "1", "suiteId" : "DEFAULT", "triggerDataMap" : { "custom_lock_key" : "mint.scheduler.__ORG_ID__.renewydevrateplan@@@management" }, }' \ https://localhost:8080/v1/mint/triggers/MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT \ -u email:password
השבתה והפעלה מחדש של משימה מתוזמנת באמצעות ה-API
כדי להשבית משימה מתוזמנת, צריך להגדיר את ערך המאפיין enabled
של הטריגר שלה
כ-False. לדוגמה:
$ curl -H "Content-Type: application/json" -X PUT -d \ '{ "cronExpression" : "0 0 5 * * ?", "enabled" : false, "group" : "management-server", "id" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT", "jobId" : "MINT.RENEW_DEV_RATEPLAN@@@management-server", "name" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT", "priority" : "1", "suiteId" : "DEFAULT", "triggerDataMap" : { "custom_lock_key" : "mint.scheduler.__ORG_ID__.renewydevrateplan@@@management" }, }' \ https://localhost:8080/v1/mint/triggers/MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT \ -u email:password
כדי להפעיל מחדש משימה מושבתת, צריך להגדיר את הערך
True במאפיין enabled
של הטריגר שלה.
השלבים הבאים
מומלץ לבצע סנכרון מחדש של המונטיזציה עם הארגון ועם כל המפתחים, האפליקציות והמוצרים שיצרת באמצעות Edge API Services. במאמר סנכרון נתוני Apigee Edge עם מונטיזציה מוסבר איך עושים זאת.