Menjadwalkan tugas monetisasi

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

Ringkasan tugas terjadwal

Monetisasi menyediakan penjadwal tugas dan serangkaian tugas yang telah dijadwalkan untuk dijalankan waktu yang ditentukan.

Tabel di bawah ini mencantumkan pekerjaan terjadwal yang disediakan oleh monetisasi dan waktunya dijadwalkan untuk berjalan (semua waktu yang tercantum dalam UTC). Tercantum juga pemicu untuk setiap tugas.

Tugas Deskripsi Jadwal (UTC) Pemicu
Tarif Pajak Developer Bulanan Mengambil tarif pajak dari mesin pajak untuk setiap developer, dan memperbarui developer entitas dengan tarif pajak yang direvisi. Hari pertama setiap bulan pukul 05.45 MINT.MONTHLY_DEV_TAXRATE@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
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 lewat tengah malam MINT.RENEW_SUBSCRIPTIONS@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Updater XeFeed Mendapatkan nilai tukar dalam dolar AS untuk setiap mata uang yang didukung. Setiap hari pada 1 detik lewat tengah malam MINT.XEFEED@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Perpanjang Paket Tarif Developer Menggulir tanggal perpanjangan untuk paket tarif dan menghitung biaya penghentian awal. Setiap hari jam 2.20 pagi MINT.RENEW_DEV_RATEPLAN@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Mencoba Ulang Relai Transaksi Catatan: Tugas ini tidak digunakan lagi dan tidak berdampak pada monetisasi. Setiap hari jam 4.30 pagi MINT.RETRY_TX_RELAY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Pembersih Transaksi Catatan: Tugas ini tidak digunakan lagi dan tidak berdampak pada monetisasi. Setiap hari jam 5.30 pagi MINT.TX_CLEANSER@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Audit Saldo Developer Mengaudit saldo akun developer. Menyalin penggunaan saat ini dan prabayar batas kredit saldo/pascabayar ke tabel audit, lalu memotong penggunaan saat ini dari akun developer Anda dan mengembalikan saldo penggunaan ke nol. Hari pertama setiap bulan pada 5 detik lewat tengah malam MINT.DEVELOPER_BALANCE_AUDIT@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Dokumen Penagihan Bulanan Membuat dokumen penagihan.

Catatan: Apigee tidak lagi mendukung pembuatan dokumen penagihan dari Monetisasi Edge Apigee. Lihat Penghentian.

Hari ke-11 setiap bulan pada 1 menit setelah tengah malam MINT.MONTLY_BILLING_DOCS@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Penghitung Paket Tarif Developer Catatan: Tugas ini tidak digunakan lagi dan tidak berdampak pada monetisasi. Setiap hari pada 3 detik lewat tengah malam MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Tagihan Harian Menghitung ulang semua total transaksi per jam dan menggunakannya untuk menghitung total harian pada hari sebelumnya. Setiap hari jam 1.20 pagi MINT.CHARGE_DAILY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Tagihan Per Jam Menghitung semua total transaksi untuk setiap kuartal dalam satu jam. 1 menit setelah setiap seperempat jam MINT.CHARGE_HOURLY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Muat ulang konfigurasi notifikasi Mengindeks ulang semua kondisi notifikasi. Setiap 5 menit MINT.REFRESH_NOTIFICATION_CONFIG@@@
management-server@@@SYSTEM@@@
management-server@@@SYSTEM
Kirim notifikasi email Mengirim akumulasi notifikasi email Setiap jam MINT.EMAIL_NOTIFICATION@@@
management-server@@@SYSTEM@@@
management-server@@@SYSTEM
Batas Muat Ulang Catatan: Tugas ini tidak digunakan lagi dan tidak berdampak pada monetisasi. T/A (Tidak pernah dijalankan) MINT.REFRESH_LIMIT@@@
message-processor@@@SYSTEM@@@
message-processor@@@SYSTEM

Selain lowongan yang tercantum di atas, ada tugas yang dapat Anda aktifkan melalui peristiwa notifikasi, seperti yang tercantum dalam tabel berikut. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan notifikasi.

Tugas Deskripsi Jadwal Pemicu
Notifikasi Paket Baru Mengirimkan notifikasi ke semua developer bahwa paket API baru telah tersedia. Berjalan sekali — pada hari saat tugas diaktifkan pada pukul 21.00.

Catatan: Notifikasi hanya dikirim sekali, terlepas dari apakah Anda mengonfigurasi cronExpression yang menyebabkan tugas dieksekusi beberapa kali.

MINT.NEW_PACKAGE_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Notifikasi Ad Hoc Baru Mengirimkan notifikasi ke semua developer bahwa produk API baru tersedia di di pasar geografis. Berjalan sekali — pada hari saat tugas diaktifkan pada pukul 21.00.

Catatan: Notifikasi hanya dikirim sekali, terlepas dari apakah Anda mengonfigurasi cronExpression yang menyebabkan tugas dieksekusi beberapa kali.

MINT.ADHOC_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Notifikasi Produk Baru Mengirimkan notifikasi ke semua developer bahwa produk API baru tersedia. Berjalan sekali — pada hari saat tugas diaktifkan pada pukul 21.00.

Catatan: Notifikasi hanya dikirim sekali, terlepas dari apakah Anda mengonfigurasi cronExpression yang menyebabkan tugas dieksekusi beberapa kali.

MINT.NEW_PRODUCT_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Notifikasi Paket Tarif Baru

Mengirimkan notifikasi kepada developer yang terpengaruh bahwa paket tarif baru tersedia. Semua developer yang berlangganan paket tarif induk akan diberi tahu bahwa paket tarif baru aktif.

Selain itu:

  • Jika paket tarif adalah paket standar, semua developer akan mendapatkan notifikasi.
  • Jika ini adalah paket tarif kategori developer, hanya developer dalam kategori tersebut yang akan mendapatkan diberi tahu.
  • Jika ini adalah paket tarif developer, hanya developer tertentu yang akan mendapatkan diberi tahu.
Berjalan pada tanggal mulai paket tarif baru, pukul 04.30. MINT.NEW_RATEPLAN_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Tnc Baru Mengirimkan notifikasi kepada developer yang terpengaruh bahwa Persyaratan dan Ketentuan yang baru atau direvisi telah dipublikasikan (dan developer belum menyetujuinya). Berjalan 30, 7, dan 1 hari sebelum tanggal mulai Syarat dan Ketentuan yang baru atau direvisi, pada pukul 21.00. MINT.TNC_ACCEPTANCE_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Paket tarif akan habis masa berlakunya Mengirim notifikasi kepada developer yang terpengaruh untuk memberikan peringatan awal bahwa paket tarif akan kedaluwarsa. Berjalan 30, 7, dan 1 hari sebelum masa berlaku paket tarif berakhir, pada pukul 21.00. MINT.EXPIRING_RATE_PLAN_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT

Mengelola jadwal tugas monetisasi menggunakan API

Bagian berikut menjelaskan cara mengelola jadwal tugas monetisasi menggunakan API:

Untuk mengetahui informasi selengkapnya tentang API yang dijelaskan di bagian ini, lihat Tugas terjadwal di API alamat IP internal.

Mengonfigurasi pemicu

Penjadwal bergantung pada {i>trigger<i} (pemicu) untuk menjalankan tugas. Tugas terjadwal dijalankan saat pemicu dieksekusi. Properti pemicu mengonfigurasi eksekusi tugas, dan dengan menyetel dari properti ini, Anda dapat mengontrol karakteristik eksekusi tugas seperti ketika sebuah tugas dieksekusi, dan seberapa sering.

Dua jenis pemicu yang paling umum adalah pemicu cron dan sederhana pemicu. Pemicu cron memiliki properti cronExpression yang menentukan jadwal eksekusi. Pemicu sederhana tidak memiliki properti cronExpression; Anda menentukan startTime untuk menunjukkan kapan pemicu diterapkan, dan secara 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 A.M. setiap hari Senin sampai Jumat" atau "Pukul 01.30 pagi setiap hari Jumat terakhir setiap bulan". Lihat Membuat ekspresi cron untuk detail lebih lanjut.

Menentukan properti ini akan menentukan pemicu sebagai pemicu cron.

Catatan: Jika cronExpression dan startTime/endTime ditentukan, cronExpression akan diprioritaskan.

enabled Tanda yang menunjukkan apakah pemicu diaktifkan untuk dijalankan. Nilainya bisa berupa salah satu hal berikut:
  • true. Pemicu diaktifkan untuk dijalankan.
  • false. Pemicu dinonaktifkan — tidak akan dijalankan.
endTime Waktu dalam format epoch saat jadwal pemicu tidak lagi berlaku.
group Jenis server tempat pemicu akan dijalankan. Misalnya, jika pemicunya adalah seharusnya dijalankan di server manajemen, nilainya harus diatur ke management-server. Jika pemicu seharusnya dieksekusi dalam sebuah pesan, server tersebut, nilainya 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 dijalankan secara bersamaan. Semakin rendah nilainya, semakin tinggi prioritasnya. Misalnya, jika dua pemicu dijadwalkan untuk dieksekusi pada waktu yang sama, dan jika satu pemicu memiliki prioritas 1 dan lainnya dengan prioritas 2, pemicu dengan prioritas 1 akan dieksekusi terlebih dahulu.

Properti ini hanya berlaku jika beberapa pemicu memiliki eksekusi yang sama persis baik.

startTime Hanya berlaku untuk pemicu sederhana.

Waktu dalam format epoch saat jadwal pemicu berlaku.

Catatan: Jika cronExpression dan startTime/endTime ditentukan, cronExpression akan diprioritaskan.

suiteId Tanda yang menentukan apakah bagian notifikasi pada level sistem atau level default serangkaian notifikasi. Nilai yang valid adalah DEFAULT atau SYSTEM, atau Anda dapat menentukan nama suite yang unik.
triggerDataMap Tombol kunci, custom_lock_key, yang mencegah beberapa server dieksekusi pekerjaan yang sama pada saat yang sama.

Membuat ekspresi cron

Ekspresi cron adalah string yang terdiri dari enam atau tujuh kolom yang dipisahkan oleh ruang kosong. Tujuan ekspresi yang mewakili serangkaian waktu, biasanya sebagai jadwal untuk mengeksekusi suatu rutinitas. Cron ekspresi yang ditentukan dalam properti cronExpression pemicu digunakan untuk menjadwalkan eksekusi pemicu tersebut.

Ekspresi cron memiliki format berikut: s m h dm m dw y

Dengan keterangan:

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 , - * ? / Rb
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 isian menit berarti setiap menit.
? Digunakan untuk menentukan sesuatu di salah satu dari dua isian yang mengizinkan karakter, tapi tidak yang lain. Misalnya, jika Anda ingin pemicu dijalankan pada hari tertentu bulan (misalnya, tanggal 10), tetapi tidak peduli hari apa, tentukan 10 pada hari bulan, dan ? di bidang hari dalam seminggu.
- Digunakan untuk menentukan rentang. Misalnya, 10-12 di isian jam berarti jam 10, 11 dan 12.
, Digunakan untuk menentukan nilai tambahan. Misalnya, MON,WED,FRI pada kolom hari dalam seminggu berarti hari Senin, Rabu, dan Jumat.
/ Digunakan untuk menentukan penambahan. Misalnya, 0/15 di isian detik berarti 0, 15, 30, dan 45. Dan 5/15 di isian detik berarti detik 5, 20, 35, dan 50. Anda dapat juga menentukan / setelah " karakter. Melakukan itu sama seperti memiliki 0 sebelum /. Menentukan 1/3 di kolom hari dalam sebulan berarti mengeksekusi setiap 3 hari dimulai pada hari pertama tanggal.
L Memiliki arti yang berbeda pada kedua kolom yang mengizinkannya. L pada hari {i>bulan<i} berarti hari terakhir dari bulan itu, yaitu, hari ke 31 untuk bulan Januari, atau hari ke 28 untuk Februari pada tahun non-kabisat. Pada bidang hari, L berarti hari terakhir dalam seminggu, yaitu, 7 atau SAT. Tetapi jika digunakan pada bidang hari setelah nilai yang lain, ini berarti hari xxx terakhir dari bulan tersebut. Misalnya, 6L berarti hari Jumat terakhir setiap bulan.
W Digunakan untuk menentukan hari kerja (Senin-Jumat) yang terdekat dengan hari tertentu. Sebagai contoh, jika Anda menentukan 15W pada isian hari, artinya hari kerja terdekat ke tanggal 15 bulan. 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 akan dilaksanakan pada hari Selasa tanggal 15. Namun, jika Anda menentukan 1W untuk hari dalam sebulan, dan yang pertama adalah hari Sabtu, pemicu akan dijalankan pada hari Senin tanggal 3 karena tidak akan "lompat" melebihi batas hari dalam satu bulan. Karakter W hanya bisa ditentukan ketika hari dalam sebulan adalah satu hari, bukan rentang atau daftar hari.
# Digunakan untuk menentukan hari ke-XXX setiap bulan. Misalnya, nilai 6#3 pada hari isian minggu berarti hari Jumat ketiga setiap bulan (hari 6 = Jumat dan #3 = yang ketiga bulan). Contoh lain: 2#1 = hari Senin pertama setiap bulan, 4#5 = hari Senin kelima Rabu setiap bulan.

Berikut adalah beberapa contoh ekspresi cron (semua waktu tercantum dalam UTC):

Persamaan cron Jadwal eksekusi
0 0 12 * * ? 12.00 (siang) setiap hari.
0 15 10 * * ? 2013 10.15 setiap hari selama tahun 2013.
0 10,44 14 ? 3 RAB 14.10 dan pada pukul 14.44. setiap hari Rabu di 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 terjadwal saat ini dengan mengajukan 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 ini contoh responsnya:

[ {
  "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 mengajukan permintaan GET ke /triggers/{trig_id}, dengan {trig_id} adalah identifikasi pekerjaan pemicu, 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 ini contoh responsnya:

{
    "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. Sebagai contoh, Anda Anda mungkin perlu mengubah jadwal eksekusi pemicu.

Untuk tugas pemicu cron (yaitu, tugas yang menyertakan nilai ekspresi cron), Anda hanya dapat ubah nilai cronExpression dan properti yang diaktifkan. Perubahan lainnya adalah diabaikan. Untuk tugas yang tidak menentukan nilai ekspresi cron, Anda dapat mengubah properti lainnya seperti startTime atau priority.

Untuk memperbarui tugas terjadwal, kirimkan permintaan PUT ke /triggers/{trig_id}, dengan {trig_id} adalah identifikasi pemicu tugas, seperti yang dijelaskan dalam Ringkasan tugas terjadwal. Ketika melakukan pembaruan, Anda perlu menentukan setelan yang diperbarui dan ID pemicu.

Misalnya, permintaan berikut memperbarui ekspresi cron untuk Paket Tarif Developer Baru Tugas perpanjangan untuk dijalankan 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 dari pemicunya ke {i>false<i}. 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, setel nilai properti enabled pemicunya ke benar.

Langkah berikutnya

Sebaiknya sinkronkan ulang secara berkala dengan monetisasi, organisasi Anda, dan pengembang, aplikasi, dan produk yang Anda buat menggunakan Layanan Edge API. Pelajari caranya di Menyinkronkan Data Apigee Edge dengan monetisasi.