شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
مروری بر کارهای برنامه ریزی شده
کسب درآمد یک زمانبندی کار و مجموعه ای از مشاغل را ارائه می دهد که از قبل برنامه ریزی شده اند تا در زمان های تعیین شده اجرا شوند.
جدول زیر مشاغل از پیش برنامه ریزی شده ارائه شده توسط کسب درآمد و زمان های برنامه ریزی شده برای اجرا را فهرست می کند (همه زمان های ذکر شده به UTC هستند). همچنین ماشه برای هر شغل ذکر شده است.
شغل | توضیحات | جدول زمانی (UTC) | ماشه |
---|---|---|---|
نرخ مالیات برنامه نویس ماهانه | نرخ مالیات را از موتور مالیات برای هر برنامهنویس دریافت میکند و نهاد توسعهدهنده را با نرخ مالیات اصلاحشده بهروزرسانی میکند. | روز اول هر ماه ساعت 5:45 صبح | MINT.MONTHLY_DEV_TAXRATE@@@ |
تمدید اشتراک | برای طرحهای نرخ فعال یا کارمزدهای جدید برای طرحهای نرخ آتی که از روز جاری شروع میشوند، کارمزد تکراری اعمال میکند. | هر روز 5 ثانیه به نیمه شب | MINT.RENEW_SUBSCRIPTIONS@@@ |
به روز رسانی XeFeed | نرخ تبدیل به دلار آمریکا را برای هر ارز پشتیبانی شده دریافت می کند. | هر روز ساعت 1 بعد از نیمه شب | MINT.XEFEED@@@ |
تمدید طرح نرخ توسعه دهنده | تاریخ های تمدید را برای طرح نرخ تغییر می دهد و هزینه های خاتمه زودهنگام را محاسبه می کند. | هر روز ساعت 2:20 بامداد | MINT.RENEW_DEV_RATEPLAN@@@ |
رله تراکنش را دوباره امتحان کنید | توجه : این شغل منسوخ شده است و تاثیری در کسب درآمد ندارد. | هر روز ساعت 4:30 صبح | MINT.RETRY_TX_RELAY@@@ |
پاک کننده معاملات | توجه : این شغل منسوخ شده است و تاثیری در کسب درآمد ندارد. | هر روز ساعت 5:30 صبح | MINT.TX_CLEANSER@@@ |
حسابرسی تراز توسعه دهنده | موجودی حساب توسعه دهنده را بررسی می کند. میزان مصرف فعلی و موجودی پیشپرداخت شده/حد اعتبار پسپرداخت را در جدول حسابرسی کپی میکند، سپس مصرف فعلی را از حساب توسعهدهنده کسر میکند و موجودی استفاده را به صفر برمیگرداند. | اولین روز هر ماه ساعت 5 ثانیه به نیمه شب | MINT.DEVELOPER_BALANCE_AUDIT@@@ |
اسناد صورتحساب ماهانه | اسناد صورتحساب را تولید می کند. توجه: Apigee دیگر از تولید اسناد صورتحساب از Apigee Edge Monetization پشتیبانی نمیکند. بازنشستگی را ببینید. | روز یازدهم هر ماه ساعت 1 دقیقه بعد از نیمه شب | MINT.MONTLY_BILLING_DOCS@@@ |
شمارشگر برنامه نرخ توسعه دهنده | توجه : این شغل منسوخ شده است و تاثیری در کسب درآمد ندارد. | هر روز ساعت 3 ثانیه به نیمه شب | MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@ |
هزینه های روزانه | کل تراکنش های ساعتی را مجددا محاسبه می کند و از آنها برای محاسبه کل روزانه برای روز قبل استفاده می کند. | هر روز ساعت 1:20 بامداد | MINT.CHARGE_DAILY@@@ |
هزینه های ساعتی | تمام تراکنش ها را برای هر ربع ساعت محاسبه می کند. | 1 دقیقه قبل از هر ربع ساعت | MINT.CHARGE_HOURLY@@@ |
پیکربندی اعلان را تازه کنید | همه شرایط اعلان را دوباره فهرست می کند. | هر 5 دقیقه | MINT.REFRESH_NOTIFICATION_CONFIG@@@ |
ارسال اعلان های ایمیل | اعلان های ایمیل انباشته شده را ارسال می کند | هر ساعت | MINT.EMAIL_NOTIFICATION@@@ |
محدودیت بازخوانی | توجه : این شغل منسوخ شده است و تاثیری در کسب درآمد ندارد. | N/A (هرگز اجرا نمی شود) | MINT.REFRESH_LIMIT@@@ |
علاوه بر مشاغل ذکر شده در بالا، مشاغلی وجود دارد که می توانید از طریق اعلان رویدادها، همانطور که در جدول زیر فهرست شده است، آنها را فعال کنید. برای اطلاعات بیشتر، به تنظیم اعلانها مراجعه کنید.
شغل | توضیحات | برنامه ریزی کنید | ماشه |
---|---|---|---|
اطلاعیه بسته جدید | یک اعلان برای همه توسعه دهندگان ارسال می کند که بسته API جدیدی در دسترس است. | یک بار اجرا می شود - در روزی که کار در ساعت 9:00 شب فعال می شود توجه : اعلانها فقط یک بار ارسال میشوند، صرف نظر از اینکه آیا | MINT.NEW_PACKAGE_NOTIFY@@@ |
اطلاعیه موقت جدید | یک اعلان برای همه توسعه دهندگان ارسال می کند مبنی بر اینکه محصولات جدید API در بازارهای جغرافیایی خاص در دسترس هستند. | یک بار اجرا می شود - در روزی که کار در ساعت 9:00 شب فعال می شود توجه : اعلانها فقط یک بار ارسال میشوند، صرف نظر از اینکه آیا | MINT.ADHOC_NOTIFY@@@ |
اطلاعیه محصول جدید | یک اعلان برای همه توسعه دهندگان ارسال می کند که یک محصول API جدید در دسترس است. | یک بار اجرا می شود - در روزی که کار در ساعت 9:00 شب فعال می شود توجه : اعلانها فقط یک بار ارسال میشوند، صرف نظر از اینکه آیا | MINT.NEW_PRODUCT_NOTIFY@@@ |
اطلاعیه طرح نرخ جدید | یک اعلان به توسعه دهندگان آسیب دیده ارسال می کند مبنی بر اینکه یک طرح نرخ جدید در دسترس است. به همه برنامهنویسانی که در طرح نرخ اصلی مشترک هستند مطلع میشوند که یک طرح نرخ جدید فعال است. علاوه بر این:
| در تاریخ شروع طرح نرخ جدید، ساعت 4:30 صبح اجرا می شود | MINT.NEW_RATEPLAN_NOTIFY@@@ |
Tnc جدید | برای توسعه دهندگان آسیب دیده اعلانی ارسال می کند مبنی بر اینکه شرایط و ضوابط جدید یا اصلاح شده منتشر شده است (و توسعه دهنده هنوز آنها را نپذیرفته است). | 30، 7، و 1 روز قبل از تاریخ شروع شرایط و ضوابط جدید یا اصلاح شده، ساعت 21:00 اجرا می شود. | MINT.TNC_ACCEPTANCE_NOTIFY@@@ |
منقضی شدن طرح نرخ | یک اعلان به توسعه دهندگان آسیب دیده ارسال می کند تا هشدارهای قبلی را مبنی بر منقضی شدن یک طرح نرخ ارائه دهد. | اجرا 30، 7 و 1 روز قبل از انقضای طرح نرخ، ساعت 21:00 | MINT.EXPIRING_RATE_PLAN_NOTIFY@@@ |
مدیریت برنامه شغلی کسب درآمد با استفاده از API
بخشهای زیر نحوه مدیریت برنامه کاری کسب درآمد با استفاده از API را شرح میدهند:
- پیکربندی محرک ها
- ساخت عبارات cron
- مشاهده کارهای برنامه ریزی شده با استفاده از API
- به روز رسانی کارهای برنامه ریزی شده با استفاده از API
- غیرفعال کردن و فعال کردن مجدد یک کار برنامه ریزی شده با استفاده از API
برای کسب اطلاعات بیشتر در مورد APIهای توضیح داده شده در این بخش، به کارهای برنامه ریزی شده در مرجع API مراجعه کنید.
پیکربندی محرک ها
زمانبند برای اجرای کارها به محرکها متکی است. یک کار برنامه ریزی شده زمانی اجرا می شود که تریگر مرتبط با آن اجرا شود. ویژگیهای یک تریگر اجرای کار را پیکربندی میکنند و با تنظیم مقدار این ویژگیها میتوانید ویژگیهای اجرای کار مانند زمان اجرا و تعداد دفعات آن را کنترل کنید.
دو نوع متداول تریگر عبارتند از تریگرهای کرون و تریگرهای ساده . یک تریگر cron دارای ویژگی cronExpression
است که یک برنامه زمانبندی اجرا را مشخص می کند. یک تریگر ساده دارای ویژگی cronExpression
نیست. شما startTime
برای نشان دادن زمانی که تریگر اعمال می شود و در صورت تمایل endTime
مشخص می کنید.
ویژگی های ماشه به شرح زیر است (همه زمان های ذکر شده در UTC هستند):
اموال | توضیحات |
---|---|
cronExpression | عبارت Cron برای ایجاد یک برنامه اجرایی برای ماشه، مانند: "در ساعت 8:00 صبح هر دوشنبه تا جمعه" یا "در ساعت 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 mh dm m dw y
کجا:
میدان | توضیحات | مورد نیاز | مقادیر مجاز | کاراکترهای ویژه مجاز |
---|---|---|---|---|
s | ثانیه ها | بله | 0-59 | ، - * / |
m | دقیقه | بله | 0-59 | ، - * / |
h | ساعت | بله | 0-23 | ، - * / |
dm | روز ماه | بله | 0-31 | ، - *؟ / LW |
m | ماه | بله | 1-12 یا ژانویه تا دسامبر | ، - * / |
dw | روز هفته | بله | 1-7 یا SUN-SAT | ، - *؟ / L # |
y | سال | خیر | خالی یا 1970-2099 | ، - * / |
کاراکترهای ویژه به صورت زیر تعریف می شوند:
شخصیت خاص | توضیحات |
---|---|
* | برای انتخاب تمام مقادیر درون یک فیلد استفاده می شود. به عنوان مثال، * در قسمت دقیقه به معنای هر دقیقه است. |
? | برای مشخص کردن چیزی در یکی از دو فیلد که کاراکتر مجاز است استفاده می شود، اما دیگری نه. به عنوان مثال، اگر می خواهید تریگر در یک روز خاص از ماه اجرا شود (مثلاً دهم)، اما اهمیتی ندارید چه روزی از هفته، در فیلد روز ماه عدد 10 را مشخص کنید، و؟ در میدان روز هفته |
- | برای تعیین محدوده استفاده می شود. مثلاً 10-12 در قسمت ساعت یعنی ساعت 10، 11 و 12. |
، | برای تعیین مقادیر اضافی استفاده می شود. به عنوان مثال، MON، WED، FRI در قسمت روز هفته به معنای روزهای دوشنبه، چهارشنبه و جمعه است. |
/ | برای تعیین افزایش استفاده می شود. به عنوان مثال، 0/15 در فیلد ثانیه به معنای ثانیه های 0، 15، 30 و 45 است. و 5/15 در فیلد ثانیه به معنای ثانیه های 5، 20، 35 و 50 است. همچنین می توانید / بعد از " را مشخص کنید. انجام این کار معادل داشتن 0 قبل از فیلد روز ماه است. |
L | در هر یک از دو زمینه ای که در آن مجاز است معنای متفاوتی دارد. L در قسمت روز ماه به معنای آخرین روز ماه است، یعنی روز 31 برای ژانویه، یا روز 28 برای فوریه در سال های غیر کبیسه. در فیلد روز هفته، L به معنای آخرین روز هفته، یعنی 7 یا SAT است. اما اگر در فیلد روز هفته بعد از مقدار دیگری استفاده شود، به معنای آخرین xxx روز ماه است. به عنوان مثال، 6L به معنای آخرین جمعه ماه است. |
دبلیو | برای تعیین نزدیکترین روز هفته (دوشنبه-جمعه) استفاده می شود. به عنوان مثال، اگر 15 وات را در فیلد روز ماه مشخص کنید، به معنای نزدیکترین روز هفته به 15 ماه است. بنابراین اگر 15 شنبه باشد، ماشه در روز جمعه 14 اجرا می شود. اگر پانزدهم یکشنبه باشد، ماشه در روز دوشنبه شانزدهم اجرا می شود. اگر پانزدهم سه شنبه باشد، در روز سه شنبه پانزدهم اجرا می شود. با این حال، اگر 1 وات را برای روز ماه تعیین کنید، و 1 روز شنبه باشد، تریگر در روز دوشنبه سوم اجرا می شود زیرا از مرز روزهای یک ماه "پرش" نمی کند. کاراکتر W را فقط زمانی می توان مشخص کرد که روز ماه یک روز باشد، نه محدوده یا لیست روزها. |
# | برای تعیین نهمین روز XXX ماه استفاده می شود. به عنوان مثال، مقدار 6#3 در قسمت روز هفته به معنای سومین جمعه ماه است (روز 6 = جمعه و #3 = سومین جمعه ماه). مثال های دیگر: 2#1 = اولین دوشنبه ماه، 4#5 = پنجمین چهارشنبه ماه. |
در اینجا چند نمونه از عبارات cron آورده شده است (همه زمان های ذکر شده در UTC هستند):
بیان کرون | برنامه اجرا |
---|---|
0 0 12 * * ? | هر روز ساعت 12 ظهر (ظهر). |
0 15 10 * * ? 2013 | در طول سال 2013 هر روز ساعت 10:15 صبح. |
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 trigger (یعنی کارهایی که حاوی مقدار عبارت cron هستند)، فقط می توانید مقادیر cronExpression
و ویژگی های فعال شده را تغییر دهید. سایر تغییرات نادیده گرفته می شوند. برای کارهایی که مقدار عبارت cron را مشخص نمی کنند، می توانید ویژگی های دیگر مانند startTime
یا priority
را تغییر دهید.
برای بهروزرسانی یک کار زمانبندیشده، یک درخواست PUT به /triggers/{trig_id}
صادر کنید، که در آن {trig_id}
شناسایی محرک کار است، همانطور که در نمای کلی کارهای زمانبندی شده توضیح داده شده است. هنگامی که به روز رسانی را انجام می دهید، باید تنظیمات به روز شده و شناسه ماشه را در بدنه درخواست مشخص کنید.
برای مثال، درخواست زیر عبارت cron را برای کار تمدید طرح نرخ توسعهدهنده جدید بهروزرسانی میکند تا هر روز در ساعت 5 صبح 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 ایجاد کردهاید، مجدداً با کسب درآمد همگامسازی کنید. با نحوه همگام سازی داده های Apigee Edge با کسب درآمد آشنا شوید.