Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Ringkasan tugas terjadwal
Monetisasi menyediakan penjadwal tugas dan serangkaian tugas yang telah dijadwalkan sebelumnya untuk dijalankan pada waktu yang ditentukan.
Tabel di bawah mencantumkan tugas yang telah dijadwalkan yang disediakan oleh monetisasi dan waktu tugas tersebut dijadwalkan untuk dijalankan (semua waktu yang tercantum dalam UTC). Pemicu untuk setiap tugas juga tercantum.
| Tugas | Deskripsi | Jadwal (UTC) | Pemicu |
|---|---|---|---|
| Tarif Pajak Developer Bulanan | Mengambil tarif pajak dari mesin pajak untuk setiap developer, dan memperbarui entitas developer dengan tarif pajak yang direvisi. | Hari pertama setiap bulan pukul 05.45 | MINT.MONTHLY_DEV_TAXRATE@@@ |
| Memperpanjang Langganan | Menerapkan biaya berulang untuk paket tarif aktif atau biaya baru untuk paket tarif mendatang yang dimulai pada hari ini. | Setiap hari pada 5 detik setelah tengah malam | MINT.RENEW_SUBSCRIPTIONS@@@ |
| Pengupdate XeFeed | Mendapatkan nilai tukar dalam dolar AS untuk setiap mata uang yang didukung. | Setiap hari pada detik ke-1 setelah tengah malam | MINT.XEFEED@@@ |
| Memperpanjang Paket Tarif Developer | Mengalihkan tanggal perpanjangan untuk paket tarif dan menghitung biaya penghentian awal. | Setiap hari pukul 02.20 | MINT.RENEW_DEV_RATEPLAN@@@ |
| Coba Lagi Penerusan Transaksi | Catatan: Tugas ini sudah tidak digunakan lagi dan tidak berdampak pada monetisasi. | Setiap hari pukul 04.30 | MINT.RETRY_TX_RELAY@@@ |
| Pembersih Transaksi | Catatan: Tugas ini tidak digunakan lagi dan tidak berdampak pada monetisasi. | Setiap hari pukul 05.30 | MINT.TX_CLEANSER@@@ |
| Audit Saldo Developer | Mengaudit saldo akun developer. Menyalin penggunaan saat ini dan saldo prabayar/batas kredit pascabayar ke tabel audit, lalu mengurangi penggunaan saat ini dari akun developer dan mengembalikan saldo penggunaan ke nol. | Hari pertama setiap bulan pada 5 detik setelah tengah malam | MINT.DEVELOPER_BALANCE_AUDIT@@@ |
| Dokumen Penagihan Bulanan | Membuat dokumen penagihan. Catatan: Apigee tidak lagi mendukung pembuatan dokumen penagihan dari Monetisasi Apigee Edge. Lihat Penghentian. |
Hari ke-11 setiap bulan pada 1 menit setelah tengah malam | MINT.MONTLY_BILLING_DOCS@@@ |
| Penghitung Paket Tarif Developer | Catatan: Tugas ini tidak digunakan lagi dan tidak berdampak pada monetisasi. | Setiap hari pada 3 detik setelah tengah malam | MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@ |
| Tagihan Harian | Menghitung ulang semua total transaksi per jam dan menggunakannya untuk menghitung total harian untuk hari sebelumnya. | Setiap hari pukul 01.20 | MINT.CHARGE_DAILY@@@ |
| Biaya Per Jam | Menghitung total semua transaksi untuk setiap seperempat jam. | 1 menit setelah setiap seperempat jam | MINT.CHARGE_HOURLY@@@ |
| Memuat ulang konfigurasi notifikasi | Mengindeks ulang semua kondisi notifikasi. | Setiap 5 menit | MINT.REFRESH_NOTIFICATION_CONFIG@@@ |
| Mengirim notifikasi email | Mengirim notifikasi email yang terkumpul | Setiap jam | MINT.EMAIL_NOTIFICATION@@@ |
| Batas Muat Ulang | Catatan: Tugas ini tidak digunakan lagi dan tidak berdampak pada monetisasi. | T/A (Tidak pernah dieksekusi) | MINT.REFRESH_LIMIT@@@ |
Selain tugas yang tercantum di atas, ada tugas yang dapat Anda aktifkan melalui notifikasi peristiwa, seperti yang tercantum dalam tabel berikut. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan notifikasi.
| Tugas | Deskripsi | Jadwal | Pemicu |
|---|---|---|---|
| Notifikasi Paket Baru | Mengirim notifikasi kepada semua developer bahwa paket API baru tersedia. |
Dijalankan satu kali — pada hari tugas diaktifkan pukul 21.00.
Catatan: Notifikasi hanya dikirim satu kali, terlepas dari apakah Anda
mengonfigurasi |
MINT.NEW_PACKAGE_NOTIFY@@@ |
| Notifikasi Ad Hoc Baru | Mengirimkan notifikasi kepada semua developer bahwa produk API baru tersedia di pasar geografis tertentu. |
Dijalankan satu kali — pada hari tugas diaktifkan pukul 21.00.
Catatan: Notifikasi hanya dikirim satu kali, terlepas dari apakah Anda
mengonfigurasi |
MINT.ADHOC_NOTIFY@@@ |
| Notifikasi Produk Baru | Mengirim notifikasi ke semua developer bahwa produk API baru telah tersedia. |
Dijalankan satu kali — pada hari tugas diaktifkan pukul 21.00.
Catatan: Notifikasi hanya dikirim satu kali, terlepas dari apakah Anda
mengonfigurasi |
MINT.NEW_PRODUCT_NOTIFY@@@ |
| Notifikasi Paket Tarif Baru |
Mengirimkan notifikasi kepada developer yang terpengaruh bahwa paket tarif baru telah tersedia. Semua developer yang berlangganan paket tarif induk akan diberi tahu bahwa paket tarif baru sudah aktif. Selain itu:
|
Berjalan pada tanggal mulai paket tarif baru, pukul 04.30. | MINT.NEW_RATEPLAN_NOTIFY@@@ |
| TNC Baru | Mengirim notifikasi kepada developer yang terpengaruh bahwa Persyaratan dan Ketentuan baru atau yang direvisi telah dipublikasikan (dan developer belum menyetujuinya). | Dijalankan 30, 7, dan 1 hari sebelum tanggal mulai Persyaratan dan Ketentuan baru atau yang direvisi, pada pukul 21.00. | MINT.TNC_ACCEPTANCE_NOTIFY@@@ |
| Paket tarif yang akan berakhir | Mengirim notifikasi kepada developer yang terpengaruh untuk memberikan peringatan awal bahwa paket tarif akan berakhir. | Dijalankan 30, 7, dan 1 hari sebelum masa berlaku paket tarif berakhir, pada pukul 21.00. | MINT.EXPIRING_RATE_PLAN_NOTIFY@@@ |
Mengelola jadwal tugas monetisasi menggunakan API
Bagian berikut menjelaskan cara mengelola jadwal tugas monetisasi menggunakan API:
- Mengonfigurasi pemicu
- Membuat ekspresi cron
- Melihat tugas terjadwal menggunakan API
- Memperbarui tugas terjadwal menggunakan API
- Menonaktifkan dan mengaktifkan kembali tugas terjadwal menggunakan API
Untuk mengetahui informasi selengkapnya tentang API yang dijelaskan di bagian ini, lihat Tugas terjadwal dalam referensi API.
Mengonfigurasi pemicu
Penjadwal mengandalkan pemicu untuk menjalankan tugas. Tugas terjadwal dijalankan saat pemicu terkait dijalankan. Properti pemicu mengonfigurasi eksekusi tugas, dan dengan menetapkan nilai properti ini, Anda dapat mengontrol karakteristik eksekusi tugas seperti kapan tugas dieksekusi, dan seberapa sering.
Dua jenis pemicu yang paling umum adalah pemicu cron dan pemicu
sederhana. Pemicu cron memiliki properti cronExpression yang menentukan
jadwal eksekusi. Pemicu sederhana tidak memiliki properti cronExpression; Anda
menentukan startTime untuk menunjukkan kapan pemicu mulai berlaku, dan
opsional endTime.
Properti pemicu adalah sebagai berikut (semua waktu yang tercantum dalam UTC):
| Properti | Deskripsi |
|---|---|
cronExpression |
Ekspresi cron untuk membuat jadwal eksekusi pemicu, seperti: "Pada pukul 08.00
setiap hari Senin hingga Jumat" atau "Pada pukul 01.30 setiap hari Jumat terakhir dalam sebulan". Lihat
Membangun ekspresi cron untuk mengetahui detail selengkapnya.
Menentukan properti ini akan menentukan pemicu sebagai pemicu cron. Catatan: Jika |
enabled |
Tanda yang menunjukkan apakah pemicu diaktifkan untuk dieksekusi. Nilainya bisa berupa salah satu dari berikut:
|
endTime |
Waktu dalam format epoch saat jadwal pemicu tidak lagi berlaku. |
group |
Jenis server tempat pemicu akan dieksekusi. Misalnya, jika pemicu
seharusnya dieksekusi di server pengelolaan, nilainya harus ditetapkan ke
management-server. Jika pemicu seharusnya dieksekusi di server
pemrosesan pesan, nilai harus ditetapkan ke message-processor. |
id |
Identifikasi pemicu. |
jobId |
Identifikasi tugas yang akan dieksekusi. |
name |
Nama unik yang digunakan untuk mengidentifikasi pemicu. |
priority |
Prioritas eksekusi relatif pemicu jika beberapa pemicu dijadwalkan untuk dieksekusi
pada waktu yang sama. Makin rendah nilainya, makin tinggi prioritasnya. Misalnya, jika dua pemicu
dijadwalkan untuk dieksekusi pada waktu yang sama, dan jika satu pemicu memiliki prioritas 1 dan
pemicu lainnya memiliki prioritas 2, pemicu dengan prioritas 1 akan dieksekusi terlebih dahulu.
Properti ini hanya berlaku jika beberapa pemicu memiliki waktu eksekusi yang sama persis. |
startTime |
Hanya berlaku untuk pemicu sederhana.
Waktu dalam format epoch saat jadwal pemicu mulai berlaku. Catatan: Jika
|
suiteId |
Flag yang menentukan apakah notifikasi merupakan bagian dari rangkaian notifikasi tingkat sistem atau tingkat default. Nilai yang valid adalah DEFAULT atau SYSTEM, atau
Anda dapat menentukan nama rangkaian pengujian unik Anda sendiri. |
triggerDataMap |
Kunci lock, custom_lock_key, yang mencegah beberapa server menjalankan
tugas yang sama pada saat yang sama. |
Membangun ekspresi cron
Ekspresi cron adalah string yang terdiri dari enam atau tujuh kolom yang dipisahkan oleh spasi kosong. Ekspresi
mewakili serangkaian waktu, biasanya sebagai jadwal untuk menjalankan rutinitas. Ekspresi
Cron yang ditentukan dalam properti cronExpression pemicu digunakan
untuk menjadwalkan eksekusi pemicu tersebut.
s
m h dm m dw y
Dengan:
| Kolom | Deskripsi | Wajib | Nilai yang diizinkan | Karakter Khusus yang Diizinkan |
|---|---|---|---|---|
s |
Detik | Ya | 0-59 | , - * / |
m |
Menit | Ya | 0-59 | , - * / |
h |
Jam | Ya | 0-23 | , - * / |
dm |
Tanggal | Ya | 0-31 | , - * ? / L W |
m |
Bulan | Ya | 1-12 atau JAN-DEC | , - * / |
dw |
Hari | Ya | 1-7 atau SUN-SAT | , - * ? / L # |
y |
Tahun | Tidak | Kosong atau 1970-2099 | , - * / |
Karakter khusus didefinisikan sebagai berikut:
| Karakter khusus | Deskripsi |
|---|---|
| * | Digunakan untuk memilih semua nilai dalam kolom. Misalnya, * di kolom menit berarti setiap menit. |
| ? | Digunakan untuk menentukan sesuatu di salah satu dari dua kolom tempat karakter diizinkan, tetapi tidak di kolom lainnya. Misalnya, jika Anda ingin pemicu dijalankan pada hari tertentu dalam sebulan (misalnya, tanggal 10), tetapi tidak peduli hari apa dalam seminggu, tentukan 10 di kolom hari dalam sebulan, dan ? di kolom hari dalam seminggu. |
| - | Digunakan untuk menentukan rentang. Misalnya, 10-12 di kolom jam berarti jam 10, 11, dan 12. |
| , | Digunakan untuk menentukan nilai tambahan. Misalnya, SEN,RAB,JUM di kolom hari dalam seminggu berarti hari Senin, Rabu, dan Jumat. |
| / | Digunakan untuk menentukan penambahan. Misalnya, 0/15 di kolom detik berarti detik 0, 15, 30, dan 45. Dan 5/15 di kolom detik berarti detik ke-5, 20, 35, dan 50. Anda juga dapat menentukan / setelah karakter ". Tindakan ini setara dengan memiliki 0 sebelum /. Menentukan 1/3 di kolom hari dalam sebulan berarti menjalankan setiap 3 hari mulai pada hari pertama dalam sebulan. |
| L | Memiliki arti yang berbeda di setiap dua kolom tempat kata tersebut diizinkan. L di kolom hari dalam bulan berarti hari terakhir dalam bulan, yaitu hari ke-31 untuk Januari, atau hari ke-28 untuk Februari pada tahun non-kabisat. Di kolom hari dalam seminggu, L berarti hari terakhir dalam seminggu, yaitu 7 atau SAB. Namun, jika digunakan di kolom hari dalam seminggu setelah nilai lain, L berarti hari xxx terakhir dalam sebulan. Misalnya, 6L berarti hari Jumat terakhir dalam sebulan. |
| W | Digunakan untuk menentukan hari kerja (Senin-Jumat) terdekat dengan hari yang ditentukan. Sebagai contoh, jika Anda menentukan 15W di kolom hari dalam sebulan, berarti hari kerja terdekat dengan tanggal 15 dalam sebulan. Jadi, jika tanggal 15 adalah hari Sabtu, pemicu akan dijalankan pada hari Jumat tanggal 14. Jika tanggal 15 adalah hari Minggu, pemicu akan dijalankan pada hari Senin tanggal 16. Jika tanggal 15 adalah hari Selasa, maka pembayaran akan dilakukan pada hari Selasa tanggal 15. Namun, jika Anda menentukan 1W untuk hari dalam sebulan, dan tanggal 1 adalah hari Sabtu, pemicu akan dieksekusi pada hari Senin tanggal 3 karena tidak akan "melompati" batas hari dalam sebulan. Karakter W hanya dapat ditentukan jika hari dalam sebulan adalah satu hari, bukan rentang atau daftar hari. |
| # | Digunakan untuk menentukan hari XXX ke-n dalam bulan. Misalnya, nilai 6#3 di kolom hari dalam seminggu berarti hari Jumat ketiga dalam sebulan (hari 6 = Jumat dan #3 = yang ke-3 dalam sebulan). Contoh lainnya: 2#1 = Senin pertama dalam sebulan, 4#5 = Rabu kelima dalam sebulan. |
Berikut beberapa contoh ekspresi cron (semua waktu yang tercantum menggunakan zona waktu UTC):
| Persamaan cron | Jadwal eksekusi |
|---|---|
| 0 0 12 * * ? | Pukul 12.00 (tengah hari) setiap hari. |
| 0 15 10 * * ? 2013 | 10.15 setiap hari selama tahun 2013. |
| 0 10,44 14 ? 3 RAB | 14.10 dan 14.44 setiap hari Rabu pada bulan Maret. |
| 0 15 10 ? * 6L 2013-2015 | 10.15 pada hari Jumat terakhir setiap bulan selama tahun 2013, 2014, dan 2015. |
| 0 15 10 ? * 6#3 | 10.15 pada hari Jumat ketiga setiap bulan. |
Melihat tugas terjadwal menggunakan API
Anda dapat melihat semua tugas yang dijadwalkan saat ini dengan mengirimkan permintaan GET ke
/triggers?orgid={org_name}.
Contoh:
$ curl -H "Accept:application/json" -X GET \ "http://localhost:8080/v1/mint/triggers?orgid={org_name}" \ -u email:password
Berikut adalah contoh respons:
[ {
"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
},
...
]
Anda juga dapat melihat tugas terjadwal tertentu dengan mengirimkan permintaan GET ke
/triggers/{trig_id}, dengan {trig_id} adalah identifikasi pemicu tugas
seperti yang dijelaskan dalam Ringkasan tugas terjadwal. Contoh:
$ curl -X GET \ "http://localhost:8080/v1/mint/triggers/MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT" \ -u email:password
Berikut adalah contoh respons:
{
"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
}
Memperbarui tugas terjadwal menggunakan API
Anda dapat memperbarui tugas terjadwal dengan mengubah properti pemicunya. Misalnya, Anda mungkin perlu mengubah jadwal eksekusi pemicu.
Untuk tugas pemicu cron (yaitu, tugas yang menyertakan nilai ekspresi cron), Anda hanya dapat
mengubah nilai properti cronExpression dan enabled. Perubahan lainnya akan
diabaikan. Untuk tugas yang tidak menentukan nilai ekspresi cron, Anda dapat mengubah properti lain
seperti startTime atau priority.
Untuk memperbarui tugas terjadwal, kirim permintaan PUT ke /triggers/{trig_id}, dengan
{trig_id} adalah identifikasi pemicu tugas, seperti yang dijelaskan dalam Ringkasan tugas terjadwal. Saat melakukan pembaruan, Anda harus menentukan di
isi permintaan setelan yang diperbarui dan ID pemicu.
Misalnya, permintaan berikut memperbarui ekspresi cron untuk tugas Perpanjangan Paket Tarif Developer Baru agar berjalan setiap hari pada pukul 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
Menonaktifkan dan mengaktifkan kembali tugas terjadwal menggunakan API
Untuk menonaktifkan tugas terjadwal, tetapkan nilai properti enabled pemicunya ke
false. Contoh:
$ 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
Untuk mengaktifkan kembali tugas yang dinonaktifkan, tetapkan nilai properti enabled pemicunya ke
true.
Langkah berikutnya
Sebaiknya lakukan sinkronisasi ulang secara berkala dengan monetisasi organisasi Anda dan semua developer, aplikasi, dan produk yang Anda buat menggunakan Layanan API Edge. Pelajari caranya di Menyinkronkan data Apigee Edge dengan monetisasi.