Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Planlanmış işlere genel bakış
Para kazanma özelliği, belirli zamanlarda çalışacak şekilde önceden planlanmış bir dizi iş ve bir iş planlayıcı sağlar.
Aşağıdaki tabloda, para kazanma tarafından sağlanan önceden planlanmış işler ve bunların çalıştırılmak üzere planlandığı zamanlar listelenmiştir (listelenen tüm zamanlar UTC'dir). Her işin tetikleyicisi de listelenir.
| İş | Açıklama | Plan (UTC) | Tetikleyici |
|---|---|---|---|
| Aylık Geliştirici Vergisi Oranı | Her geliştirici için vergi motorundan vergi oranını alır ve geliştirici tüzel kişisini revize edilmiş vergi oranıyla günceller. | Her ayın ilk günü saat 05:45'te | MINT.MONTHLY_DEV_TAXRATE@@@ |
| Aboneliği yenileyin | Etkin ücret planları için yinelenen ücretler veya geçerli günde başlayan gelecekteki ücret planları için yeni ücretler uygular. | Her gün gece yarısını 5 saniye geçe | MINT.RENEW_SUBSCRIPTIONS@@@ |
| XeFeed Updater | Desteklenen her para birimi için ABD doları cinsinden döviz kurunu alır. | Her gün gece yarısından 1 saniye sonra | MINT.XEFEED@@@ |
| Geliştirici Ücret Planını Yenileme | Bir fiyat planının yenileme tarihlerini erteler ve erken fesih ücretlerini hesaplar. | Her gün saat 02:20'de | MINT.RENEW_DEV_RATEPLAN@@@ |
| İşlem Geçişini Yeniden Deneme | Not: Bu işin desteği sonlandırıldı ve para kazanma üzerinde herhangi bir etkisi yok. | Her gün saat 04:30'da | MINT.RETRY_TX_RELAY@@@ |
| İşlem Temizleyici | Not: Bu işin desteği sonlandırıldı ve para kazanma üzerinde herhangi bir etkisi yok. | Her gün saat 05:30'da | MINT.TX_CLEANSER@@@ |
| Geliştirici bakiyesi denetimi | Geliştirici hesabı bakiyesini denetler. Mevcut kullanımı ve ön ödemeli bakiyeyi/sonradan ödemeli kredi sınırını bir denetim tablosuna kopyalar, ardından mevcut kullanımı geliştirici hesabından düşer ve kullanım bakiyesini sıfıra döndürür. | Her ayın ilk günü, gece yarısını 5 saniye geçe | MINT.DEVELOPER_BALANCE_AUDIT@@@ |
| Aylık Faturalandırma Belgeleri | Faturalandırma belgeleri oluşturur. Not: Apigee artık Apigee Edge Para Kazanma'dan fatura belgeleri oluşturmayı desteklemiyor. Kullanımdan kaldırılan özellikler başlıklı makaleyi inceleyin. |
Her ayın 11'inde gece yarısından 1 dakika sonra | MINT.MONTLY_BILLING_DOCS@@@ |
| Geliştirici ücret planı sayacı | Not: Bu işin desteği sonlandırıldı ve para kazanma üzerinde herhangi bir etkisi yok. | Her gün gece yarısını 3 saniye geçe | MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@ |
| Günlük ücretler | Tüm saatlik işlem toplamlarını yeniden hesaplar ve bunları kullanarak önceki günün günlük toplamlarını hesaplar. | Her gün saat 01:20'de | MINT.CHARGE_DAILY@@@ |
| Saatlik Ücretler | Her 15 dakikalık dönem için tüm işlem toplamlarını hesaplar. | Her çeyrek saati 1 dakika geçe | MINT.CHARGE_HOURLY@@@ |
| Bildirim yapılandırmasını yenileme | Tüm bildirim koşullarını yeniden indeksler. | 5 dakikada bir | MINT.REFRESH_NOTIFICATION_CONFIG@@@ |
| E-posta bildirimleri gönderme | Birikmiş e-posta bildirimlerini gönderir. | Saatte bir | MINT.EMAIL_NOTIFICATION@@@ |
| Yenileme sınırı | Not: Bu işin desteği sonlandırıldı ve para kazanma üzerinde herhangi bir etkisi yok. | Geçersiz (Hiçbir zaman yürütülmez) | MINT.REFRESH_LIMIT@@@ |
Yukarıda listelenen işlere ek olarak, aşağıdaki tabloda listelendiği gibi etkinlik bildirimleri aracılığıyla etkinleştirebileceğiniz işler de vardır. Daha fazla bilgi için Bildirimleri ayarlama başlıklı makaleyi inceleyin.
| İş | Açıklama | Planla | Tetikleyici |
|---|---|---|---|
| Yeni Paket Bildirimi | Yeni bir API paketinin kullanıma sunulduğuna dair tüm geliştiricilere bildirim gönderir. |
Bir kez çalışır: İşin etkinleştirildiği gün saat 21:00'de.
Not: İşin birden çok kez yürütülmesine neden olan bir |
MINT.NEW_PACKAGE_NOTIFY@@@ |
| Yeni Anlık Bildirim | Belirli coğrafi pazarlarda yeni API ürünlerinin kullanıma sunulduğuyla ilgili tüm geliştiricilere bildirim gönderir. |
Bir kez çalışır: İşin etkinleştirildiği gün saat 21:00'de.
Not: İşin birden çok kez yürütülmesine neden olan bir |
MINT.ADHOC_NOTIFY@@@ |
| Yeni Ürün Bildirimi | Yeni bir API ürününün kullanıma sunulduğuna dair tüm geliştiricilere bildirim gönderir. |
Bir kez çalışır: İşin etkinleştirildiği gün saat 21:00'de.
Not: İşin birden çok kez yürütülmesine neden olan bir |
MINT.NEW_PRODUCT_NOTIFY@@@ |
| Yeni Ücret Planı Bildirimi |
Etkilenen geliştiricilere yeni bir ücret planının kullanıma sunulduğuyla ilgili bildirim gönderir. Üst fiyat planına abone olan tüm geliştiricilere yeni bir fiyat planının etkin olduğu bildirilir. Ayrıca:
|
Yeni ücret planının başlangıç tarihinde saat 04:30'da çalışır. | MINT.NEW_RATEPLAN_NOTIFY@@@ |
| New Tnc | Etkilenen geliştiricilere, yeni veya revize edilmiş Hükümler ve Koşullar'ın yayınlandığı (ve geliştiricinin bunları henüz kabul etmediği) konusunda bildirim gönderir. | Yeni veya revize edilmiş Hükümler ve Koşullar'ın başlangıç tarihinden 30, 7 ve 1 gün önce saat 21:00'da çalıştırılır. | MINT.TNC_ACCEPTANCE_NOTIFY@@@ |
| Geçerlilik süresi dolan fiyat planı | Etkilenen geliştiricilere, bir ücret planının süresinin dolacağına dair önceden uyarı veren bir bildirim gönderir. | Ücret planının geçerliliği sona ermeden 30, 7 ve 1 gün önce saat 21:00'de çalışır. | MINT.EXPIRING_RATE_PLAN_NOTIFY@@@ |
API'yi kullanarak para kazanma işi planını yönetme
Aşağıdaki bölümlerde, API'yi kullanarak para kazanma işi planının nasıl yönetileceği açıklanmaktadır:
- Tetikleyicileri yapılandırma
- Cron ifadeleri oluşturma
- API'yi kullanarak planlanmış işleri görüntüleme
- API'yi kullanarak planlanmış işleri güncelleme
- API'yi kullanarak planlanmış bir işi devre dışı bırakma ve yeniden etkinleştirme
Bu bölümde açıklanan API'ler hakkında daha fazla bilgi için API referansındaki Planlanmış işler bölümüne bakın.
Tetikleyicileri yapılandırma
Planlayıcı, işleri yürütmek için tetikleyicilere dayanır. Planlanmış bir iş, ilişkili tetikleyicisi yürütüldüğünde çalışır. Bir tetikleyicinin özellikleri, işin yürütülmesini yapılandırır ve bu özelliklerin değerini ayarlayarak işin yürütülmesinin özelliklerini (ör. işin ne zaman ve ne sıklıkta yürütüleceği) kontrol edebilirsiniz.
En yaygın iki tetikleyici türü cron tetikleyicileri ve basit tetikleyicilerdir. Cron tetikleyicisinde, çalıştırma zamanını belirten bir cronExpression özelliği bulunur. Basit tetikleyicinin cronExpression özelliği yoktur. Tetikleyicinin ne zaman geçerli olacağını belirtmek için startTime'ı ve isteğe bağlı olarak endTime'ı belirtirsiniz.
Tetikleyici özellikleri aşağıdaki gibidir (listelenen tüm saatler UTC'dir):
| Mülk | Açıklama |
|---|---|
cronExpression |
Tetikleyici için çalıştırma zamanı oluşturmaya yönelik cron ifadesi (ör. "Her pazartesiden cumaya saat 08:00'de" veya "Her ayın son cuma günü saat 01:30'da"). Daha fazla bilgi için Cron ifadeleri oluşturma başlıklı makaleyi inceleyin.
Bu özelliğin belirtilmesi, tetikleyiciyi cron tetikleyici olarak tanımlar. Not: Hem |
enabled |
Tetikleyicinin yürütülmek üzere etkinleştirilip etkinleştirilmediğini gösteren işaret. Değer aşağıdakilerden biri olabilir:
|
endTime |
Tetikleyicinin programının artık geçerli olmadığı zaman (epoch biçiminde). |
group |
Tetikleyicinin çalışacağı sunucu türü. Örneğin, tetikleyicinin bir yönetim sunucusunda yürütülmesi gerekiyorsa değer management-server olarak ayarlanmalıdır. Tetikleyicinin bir ileti işleme sunucusunda yürütülmesi gerekiyorsa değer message-processor olarak ayarlanmalıdır. |
id |
Tetikleyicinin tanımlanması. |
jobId |
Yürütülecek işin tanımlanması. |
name |
Tetikleyiciyi tanımlamak için kullanılan benzersiz ad. |
priority |
Birden fazla tetikleyici aynı anda yürütülecek şekilde planlanmışsa tetikleyicilerin göreli yürütme önceliği. Değer küçüldükçe öncelik düzeyi artar. Örneğin, iki tetikleyici aynı anda çalışacak şekilde planlanmışsa ve tetikleyicilerden birinin önceliği 1, diğerinin önceliği 2 ise önceliği 1 olan tetikleyici önce çalışır.
Bu özellik yalnızca birden fazla tetikleyicinin tam olarak aynı yürütme zamanına sahip olması durumunda geçerlidir. |
startTime |
Yalnızca basit tetikleyiciler için geçerlidir.
Tetikleyicinin programının yürürlüğe girdiği zaman (dönem biçiminde). Not: Hem |
suiteId |
Sistem düzeyindeki veya varsayılan düzeydeki bildirim paketinin bildirim bölümünün sistem düzeyinde mi yoksa varsayılan düzeyde mi olduğunu belirten işaret. Geçerli değerler DEFAULT veya SYSTEM'dir ya da kendi benzersiz paket adınızı belirtebilirsiniz. |
triggerDataMap |
Birden fazla sunucunun aynı işi aynı anda yürütmesini engelleyen kilit anahtarı, custom_lock_key. |
Cron ifadeleri oluşturma
Cron ifadesi, beyaz boşlukla ayrılmış altı veya yedi alandan oluşan bir dizedir. İfade, normalde bir rutini yürütmek için plan olarak bir dizi zamanı temsil eder. Bir tetikleyicinin cronExpression özelliğinde belirtilen Cron ifadeleri, tetikleyicinin yürütülmesini planlamak için kullanılır.
s
m h dm m dw y
Burada:
| Alan | Açıklama | Zorunlu | İzin verilen değerler | İzin Verilen Özel Karakterler |
|---|---|---|---|---|
s |
Saniye | Evet | 0-59 | , - * / |
m |
Dakika | Evet | 0-59 | , - * / |
h |
Çalışma saatleri | Evet | 0-23 | , - * / |
dm |
Ayın günü | Evet | 0-31 | , - * ? / L W |
m |
Ay | Evet | 1-12 veya OCAK-ARALIK | , - * / |
dw |
Haftanın günleri | Evet | 1-7 veya SUN-SAT | , - * ? / L # |
y |
Yıl | Hayır | Boş veya 1970-2099 | , - * / |
Özel karakterler aşağıdaki şekilde tanımlanır:
| Özel karakter | Açıklama |
|---|---|
| * | Bir alandaki tüm değerleri seçmek için kullanılır. Örneğin, dakika alanındaki * her dakika anlamına gelir. |
| ? | Karakterin kullanılmasına izin verilen iki alandan birinde bir şeyi belirtmek için kullanılır ancak diğerinde kullanılmaz. Örneğin, tetikleyicinin ayın belirli bir gününde (ör. 10'unda) çalışmasını istiyorsanız ancak haftanın hangi günü olacağıyla ilgilenmiyorsanız ayın günü alanına 10, haftanın günü alanına ise ? haftanın günü alanına girin. |
| - | Aralıkları belirtmek için kullanılır. Örneğin, saat alanında 10-12 ifadesi 10, 11 ve 12 saatlerini ifade eder. |
| , | Ek değerleri belirtmek için kullanılır. Örneğin, haftanın günü alanında MON,WED,FRI ifadesi Pazartesi, Çarşamba ve Cuma günleri anlamına gelir. |
| / | Artışları belirtmek için kullanılır. Örneğin, saniye alanındaki 0/15 değeri, 0, 15, 30 ve 45 saniye anlamına gelir. Saniye alanındaki 5/15 değeri ise 5, 20, 35 ve 50 saniyeleri ifade eder. Ayrıca, " karakterinden sonra / da belirtebilirsiniz. Bunu yapmak, / işaretinden önce 0 olmasıyla aynıdır. Ayın günü alanında 1/3 belirtmek, ayın ilk gününden başlayarak her 3 günde bir yürütmek anlamına gelir. |
| L | İzin verilen iki alanda farklı anlamlara sahiptir. Ayın günü alanındaki L, ayın son günü anlamına gelir. Örneğin, Ocak ayının 31. günü veya artık yıl olmayan yıllarda Şubat ayının 28. günü. Haftanın günü alanında L, haftanın son günü anlamına gelir, yani 7 veya CUMARTESİ. Ancak haftanın günü alanında başka bir değerden sonra kullanılırsa, ayın son xxx günü anlamına gelir. Örneğin, 6L, ayın son Cuma günü anlamına gelir. |
| W | Belirtilen güne en yakın hafta içi gününü (Pazartesi-Cuma) belirtmek için kullanılır. Örneğin, ayın günü alanında 15W değerini belirtirseniz bu, ayın 15'ine en yakın hafta içi günü anlamına gelir. Bu nedenle, ayın 15'i Cumartesi gününe denk geliyorsa tetikleyici ayın 14'ünde (Cuma günü) çalışır. Ayın 15'i Pazar gününe denk gelirse tetikleyici 16'sında (Pazartesi) çalışır. Ayın 15'i Salı gününe denk geliyorsa ödeme Salı günü yapılır. Ancak ayın günü için 1W değerini belirtirseniz ve ayın 1'i Cumartesi gününe denk gelirse tetikleyici, ayın günlerinin sınırını "atlamayacağı" için 3'ünde Pazartesi günü çalışır. W karakteri yalnızca ayın günü tek bir gün olduğunda (bir gün aralığı veya gün listesi değil) belirtilebilir. |
| # | Ayın n. XXX gününü belirtmek için kullanılır. Örneğin, haftanın günü alanındaki 6#3 değeri, ayın üçüncü cuma günü anlamına gelir (6. gün = cuma ve #3 = ayın 3. günü). Diğer örnekler: 2#1 = ayın ilk Pazartesi günü, 4#5 = ayın beşinci Çarşamba günü. |
Cron ifadelerine ilişkin bazı örnekler (listelenen tüm saatler UTC'dir):
| Cron ifadesi | Çalıştırma zamanı |
|---|---|
| 0 0 12 * * ? | Her gün saat 12:00 |
| 0 15 10 * * ? 2013 | 2013 yılı boyunca her gün saat 10:15. |
| 0 10,44 14 ? 3 WED | Mart ayının her çarşamba günü saat 14:10 ve 14:44'te |
| 0 15 10 ? * 6L 2013-2015 | 2013, 2014 ve 2015 yıllarında her ayın son cuma günü saat 10:15'te. |
| 0 15 10 ? * 6#3 | Her ayın üçüncü Cuma günü saat 10:15 |
API'yi kullanarak planlanmış işleri görüntüleme
Şu anda planlanmış tüm işleri /triggers?orgid={org_name} adresine bir GET isteği göndererek görüntüleyebilirsiniz.
Örneğin:
$ curl -H "Accept:application/json" -X GET \ "http://localhost:8080/v1/mint/triggers?orgid={org_name}" \ -u email:password
Aşağıda, yanıta dair bir örnek verilmiştir:
[ {
"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
},
...
]
Ayrıca, Planlanmış işlere genel bakış bölümünde açıklandığı gibi, /triggers/{trig_id} adresine bir GET isteği göndererek belirli bir planlanmış işi de görüntüleyebilirsiniz. Burada {trig_id}, iş tetikleyicisinin kimliğidir. Örneğin:
$ curl -X GET \ "http://localhost:8080/v1/mint/triggers/MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT" \ -u email:password
Aşağıda, yanıta dair bir örnek verilmiştir:
{
"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'yi kullanarak planlanmış işleri güncelleme
Planlanmış bir işi, tetikleyicisinin özelliklerini değiştirerek güncelleyebilirsiniz. Örneğin, tetikleyicinin çalıştırma zamanını değiştirmeniz gerekebilir.
Cron tetikleyici işler (yani cron ifadesi değeri içeren işler) için yalnızca cronExpression ve etkin özelliklerin değerlerini değiştirebilirsiniz. Diğer değişiklikler yok sayılır. Cron ifadesi değeri belirtilmeyen işler için startTime veya priority gibi diğer özellikleri değiştirebilirsiniz.
Planlanmış bir işi güncellemek için /triggers/{trig_id} adresine bir PUT isteği gönderin. Burada {trig_id}, Planlanmış işlere genel bakış bölümünde açıklandığı gibi iş tetikleyicisinin kimliğidir. Güncelleme yaptığınızda, istek gövdesinde güncellenen ayarları ve tetikleyicinin kimliğini belirtmeniz gerekir.
Örneğin, aşağıdaki istek, Yeni Geliştirici Ücret Planı Yenileme işinin cron ifadesini her gün saat 05:00'te (UTC) çalışacak şekilde günceller:
$ 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'yi kullanarak planlanmış bir işi devre dışı bırakma ve yeniden etkinleştirme
Planlanmış bir işi devre dışı bırakmak için tetikleyicisinin enabled özellik değerini false olarak ayarlayın. Örneğin:
$ 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
Devre dışı bırakılan bir işi yeniden etkinleştirmek için tetikleyicisinin enabled özellik değerini true olarak ayarlayın.
Sonraki adımlar
Kuruluşunuzu ve Edge API Hizmetleri'ni kullanarak oluşturduğunuz tüm geliştiricileri, uygulamaları ve ürünleri düzenli olarak para kazanma ile yeniden senkronize etmeniz önerilir. Apigee Edge verilerini para kazanma ile senkronize etme başlıklı makalede nasıl yapılacağını öğrenin.