אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
סקירה כללית של משימות מתוזמנות
המונטיזציה מספקת מתזמן משימות וקבוצה של משימות שמתוזמנות מראש להרצה בזמנים מוגדרים.
בטבלה הבאה מפורטות המשימות המתוזמנות מראש שקשורות למונטיזציה, והשעות שבהן הן מתוזמנות לפעול (כל השעות שמופיעות הן לפי שעון UTC). בנוסף, מפורט הטריגר לכל משימה.
| משרה | תיאור | תזמון (UTC) | טריגר |
|---|---|---|---|
| שיעור מס הפיתוח החודשי | הפונקציה מאחזרת את שיעור המס ממנוע המס עבור כל מפתח, ומעדכנת את ישות המפתח עם שיעור המס המתוקן. | ביום הראשון של כל חודש בשעה 5:45 בבוקר | MINT.MONTHLY_DEV_TAXRATE@@@ |
| חידוש המינוי | מחיל עמלות חוזרות על תוכניות תמחור פעילות או עמלות חדשות על תוכניות תמחור עתידיות שמתחילות ביום הנוכחי. | כל יום ב-5 שניות אחרי חצות | MINT.RENEW_SUBSCRIPTIONS@@@ |
| XeFeed Updater | מקבל את שער החליפין בדולר ארה"ב לכל מטבע נתמך. | כל יום בשנייה אחת אחרי חצות | MINT.XEFEED@@@ |
| חידוש תוכנית התעריפים למפתחים | מגלגלת את תאריכי החידוש של תוכנית תמחור ומחשבת עמלות על סיום מוקדם. | כל יום בשעה 2:20 לפנות בוקר | MINT.RENEW_DEV_RATEPLAN@@@ |
| ניסיון חוזר של העברת עסקה | הערה: התהליך הזה הוצא משימוש ואין לו השפעה על המונטיזציה. | כל יום בשעה 4:30 בבוקר | MINT.RETRY_TX_RELAY@@@ |
| Transaction Cleanser | הערה: התהליך הזה הוצא משימוש ואין לו השפעה על המונטיזציה. | כל יום בשעה 5:30 בבוקר | MINT.TX_CLEANSER@@@ |
| בדיקה של יתרת המפתח | בודק את היתרה בחשבון הפיתוח. מעתין את נתוני השימוש הנוכחיים ואת היתרה בתשלום מראש או את מגבלת האשראי בתשלום בסוף החודש לטבלת ביקורת, ואז מפחית את נתוני השימוש הנוכחיים מחשבון הפיתוח ומאפס את יתרת השימוש. | ביום הראשון של כל חודש, 5 שניות אחרי חצות | MINT.DEVELOPER_BALANCE_AUDIT@@@ |
| מסמכים בנושא חיוב חודשי | יוצר מסמכי חיוב. הערה: מערכת Apigee לא תומכת יותר ביצירת מסמכי חיוב מתוך Apigee Edge Monetization. מידע על הוצאה משימוש |
ביום ה-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@@@ |
בנוסף למשימות שמופיעות למעלה, יש משימות שאפשר להפעיל באמצעות התראות על אירועים, כמו שמופיע בטבלה הבאה. מידע נוסף מופיע במאמר בנושא הגדרת התראות.
| משרה | תיאור | תזמון | טריגר |
|---|---|---|---|
| התראה על חבילה חדשה | שולח התראה לכל המפתחים על כך שחבילת API חדשה זמינה. |
הפעלה חד-פעמית – ביום שבו העבודה מופעלת בשעה 21:00.
הערה: ההתראות נשלחות רק פעם אחת, גם אם מגדירים |
MINT.NEW_PACKAGE_NOTIFY@@@ |
| התראה חדשה אד-הוק | שולח התראה לכל המפתחים על כך שמוצרי API חדשים זמינים בשווקים גיאוגרפיים ספציפיים. |
הפעלה חד-פעמית – ביום שבו העבודה מופעלת בשעה 21:00.
הערה: ההתראות נשלחות רק פעם אחת, גם אם מגדירים |
MINT.ADHOC_NOTIFY@@@ |
| התראה על מוצר חדש | שליחת התראה לכל המפתחים על כך שמוצר API חדש זמין. |
הפעלה חד-פעמית – ביום שבו העבודה מופעלת בשעה 21:00.
הערה: ההתראות נשלחות רק פעם אחת, גם אם מגדירים |
MINT.NEW_PRODUCT_NOTIFY@@@ |
| התראה על תוכנית תמחור חדשה |
המערכת שולחת הודעה למפתחים שהעדכון רלוונטי להם על כך שתוכנית תמחור חדשה זמינה. כל המפתחים שמנויים לתוכנית התמחור הראשית מקבלים הודעה על הפעלה של תוכנית תמחור חדשה. בנוסף, תהליך האישור של MRC לא כולל:
|
הפעולה מתבצעת בתאריך ההתחלה של תוכנית התמחור החדשה, בשעה 4:30 לפנות בוקר. | MINT.NEW_RATEPLAN_NOTIFY@@@ |
| New 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 jobs בהפניית ה-API.
הגדרת טריגרים
מתזמן המשימות מסתמך על טריגרים כדי להפעיל משימות. משימה מתוזמנת מופעלת כשהטריגר המשויך לה מופעל. המאפיינים של טריגר מגדירים את ההפעלה של העבודה, ועל ידי הגדרת הערך של המאפיינים האלה אתם יכולים לשלוט במאפיינים של ההפעלה של העבודה, כמו מתי העבודה מופעלת וכמה פעמים.
שני הסוגים הנפוצים ביותר של טריגרים הם טריגרים של cron וטריגרים פשוטים. לטריגר cron יש מאפיין cronExpression שמציין לוח זמנים להפעלה. ל-trigger פשוט אין מאפיין cronExpression. מציינים את startTime כדי לציין מתי ה-trigger נכנס לתוקף, ואם רוצים, מציינים גם את endTime.
אלה מאפייני הטריגר (כל השעות שמצוינות הן לפי שעון UTC):
| נכס | תיאור |
|---|---|
cronExpression |
ביטוי Cron ליצירת תזמון הפעלה לטריגר, למשל: "בשעה 8:00 בבוקר
מיום שני עד יום שישי" או "בשעה 1:30 לפנות בוקר ביום שישי האחרון של החודש". פרטים נוספים זמינים במאמר בנושא יצירת ביטויי cron.
הגדרת המאפיין הזה מגדירה את הטריגר כטריגר cron. הערה: אם מציינים גם את |
enabled |
סימון שמציין אם ההפעלה מופעלת לביצוע. הערך יכול להיות אחד מהערכים הבאים:
|
endTime |
השעה בפורמט epoch שבה לוח הזמנים של הטריגר כבר לא בתוקף. |
group |
סוג השרת שבו יופעל הטריגר. לדוגמה, אם הטריגר אמור לפעול בשרת ניהול, הערך צריך להיות management-server. אם הטריגר אמור לפעול בשרת לעיבוד הודעות, הערך צריך להיות message-processor. |
id |
מזהה הטריגר. |
jobId |
זיהוי המשימה שצריך להריץ. |
name |
שם ייחודי שמשמש לזיהוי הטריגר. |
priority |
עדיפות ההפעלה היחסית של הטריגרים אם מתוזמנת הפעלה של כמה טריגרים באותו הזמן. ככל שהערך נמוך יותר, כך העדיפות גבוהה יותר. לדוגמה, אם שני טריגרים מתוזמנים להפעלה באותו הזמן, ואם לטריגר אחד יש עדיפות של 1 ולטריגר השני יש עדיפות של 2, הטריגר עם העדיפות 1 יופעל קודם.
המאפיין הזה רלוונטי רק אם לכמה טריגרים יש בדיוק אותו זמן ביצוע. |
startTime |
ההגדרה הזו חלה רק על טריגרים פשוטים.
השעה בפורמט epoch שבה לוח הזמנים של הטריגר נכנס לתוקף. הערה: אם מציינים גם את |
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 | , - * ? / L W |
m |
חודש | כן | 1-12 או ינואר-דצמבר | , - * / |
dw |
יום בשבוע | כן | 1-7 או SUN-SAT | , - * ? / L # |
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. אבל אם משתמשים בה בשדה של יום בשבוע אחרי ערך אחר, היא מציינת את היום האחרון בחודש. לדוגמה, 6L מציין את יום שישי האחרון בחודש. |
| W | משמשת לציון יום חול (שני עד שישי) הכי קרוב ליום שצוין. לדוגמה, אם מציינים 15W בשדה של היום בחודש, המשמעות היא יום החול הקרוב ביותר ל-15 בחודש. לכן, אם ה-15 בחודש הוא יום שבת, הטריגר יופעל ביום שישי, ה-14 בחודש. אם ה-15 בחודש הוא יום ראשון, הטריגר יופעל ביום שני, ה-16 בחודש. אם ה-15 בחודש הוא יום שלישי, התשלום יתבצע ביום שלישי, ה-15 בחודש. עם זאת, אם מציינים 1W בתור היום בחודש, והיום הראשון בחודש הוא שבת, ההפעלה תתבצע ביום שני, 3 בחודש, כי היא לא תדלג מעל הגבול של הימים בחודש. אפשר לציין את התו W רק אם היום בחודש הוא יום אחד, ולא טווח או רשימה של ימים. |
| # | משמשת לציין את היום ה-n בחודש. לדוגמה, הערך 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 WED | בשעה 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 ו-enabled. המערכת מתעלמת משינויים אחרים. אם לא מצוין ערך של ביטוי cron במשימות, אפשר לשנות מאפיינים אחרים כמו startTime או priority.
כדי לעדכן משימה מתוזמנת, שולחים בקשת PUT אל /triggers/{trig_id}, כאשר
{trig_id} הוא המזהה של טריגר המשימה, כפי שמתואר במאמר סקירה כללית של משימות מתוזמנות. כשמבצעים את העדכון, צריך לציין בגוף הבקשה את ההגדרות המעודכנות ואת המזהה של הטריגר.
לדוגמה, הבקשה הבאה מעדכנת את ביטוי ה-cron של משימת החידוש של תוכנית התמחור New Developer Rate Plan כך שתפעל כל יום בשעה 5: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
כדי להפעיל מחדש משימה שהושבתה, מגדירים את ערך המאפיין enabled של הטריגר שלה ל-true.
השלבים הבאים
מומלץ לבצע מדי פעם סנכרון מחדש עם המונטיזציה של הארגון, של המפתחים, של האפליקציות ושל המוצרים שיצרתם באמצעות Edge API Services. איך מסנכרנים נתונים של Apigee Edge עם מונטיזציה