Konfigurasikan agen SchedulerxWorker untuk menghubungkan aplikasi Java Anda ke SchedulerX dan mengontrol perilaku waktu prosesnya. Mulailah dengan parameter koneksi wajib, lalu sesuaikan pengaturan opsional sesuai kebutuhan.
Koneksi
Parameter berikut menetapkan koneksi antara aplikasi Anda dan layanan SchedulerX.
| Parameter | Deskripsi | Bawaan |
|---|---|---|
setEndpoint(String endpoint) | Titik akhir untuk wilayah SchedulerX Anda. | Tidak ada |
setNamespace(String namespace) | ID namespace untuk isolasi resource. | Tidak ada |
setGroupId(String groupId) | ID aplikasi (group ID) yang digunakan agen untuk menghubungkan aplikasi Anda. ID ini dihasilkan saat Anda membuat aplikasi. | Tidak ada |
Otentikasi
Tentukan kredensial untuk layanan SchedulerX. Lewati parameter ini jika Anda melakukan otentikasi menggunakan appKey.
| Parameter | Deskripsi | Bawaan |
|---|
Jaringan
Timpa pengaturan jaringan yang terdeteksi otomatis jika lingkungan Anda memerlukannya.
| Parameter | Deskripsi | Bawaan |
|---|---|---|
setHost(String host) | Alamat IP aplikasi Anda. Tetapkan nilai ini bila IP yang terdeteksi otomatis salah, misalnya saat menggunakan multiple network interface cards atau VPN. | Tidak ada (terdeteksi otomatis) |
setPort(int port) | Port tempat aplikasi Anda mendengarkan. | Tidak ada |
Eksekusi dan konkurensi
Dua konsep berlaku di sini:
Grid computing: Model komputasi paralel terdistribusi untuk eksekusi task batch.
Container pool: Kolam thread bersama yang digunakan oleh semua job dalam aplikasi untuk eksekusi konkuren, alih-alih setiap job memiliki kolamnya sendiri.
| Parameter | Deskripsi | Bawaan |
|---|---|---|
setEnableBatchWork(boolean enableBatchWork) | Mengaktifkan atau menonaktifkan grid computing. Tetapkan ke false jika aplikasi Anda tidak menggunakan grid computing. Jika aplikasi Anda menggunakan grid computing, pertahankan nilai bawaan (true); jika tidak, pemicu job pertama pada setiap worker akan tertunda minimal 20 detik. | true |
setShareContainerPool(boolean shareConatinerPool) | Memungkinkan semua job dalam aplikasi berbagi satu container pool. Tetapkan ke true saat banyak job berjalan secara konkuren. | false |
setSharePoolSize(int sharePoolSize) | Ukuran shared container pool. Hanya berlaku ketika setShareContainerPool bernilai true. | 64 |
Pengaturan lanjutan
Dua konsep berlaku di sini:
Map model: Model eksekusi SchedulerX yang memisahkan sebuah job menjadi subtask dan mendistribusikannya ke beberapa worker (mirip dengan fase Map dalam MapReduce).
Second-delay job: Job yang dipicu dengan interval tingkat detik untuk penjadwalan hampir real-time.
| Parameter | Deskripsi | Bawaan |
|---|---|---|
setMapMasterStatusCheckInterval(int interval) | Interval, dalam milidetik, saat SchedulerX memeriksa apakah semua task dalam Map model telah selesai. Kurangi nilai ini untuk meningkatkan frekuensi pemicu second-delay job. | 3000 |
setEnableSecondDelayCycleIntervalMs(boolean enable) | Mengubah satuan delay untuk second-delay job dari detik ke milidetik di Konsol. Tetapkan ke true untuk meningkatkan frekuensi pemicu. | false |
Siklus hidup
Kontrol perilaku startup dan shutdown aplikasi.
Startup
| Parameter | Deskripsi | Bawaan |
|---|---|---|
setBlockAppStart(boolean block) | Memblokir proses aplikasi agar tidak dimulai jika inisialisasi SchedulerX gagal. | Tidak ada |
Graceful shutdown
Graceful shutdown mencegah kehilangan data job selama restart atau penerapan aplikasi. Mode shutdown menentukan job mana yang harus diselesaikan, sedangkan timeout menetapkan waktu tunggu maksimum.
| Parameter | Deskripsi | Bawaan |
|---|---|---|
setGraceShutdownMode(String mode) | Strategi graceful shutdown. Nilai yang valid: WAIT_ALL — aplikasi hanya ditutup setelah semua job dan task yang diterima selesai. WAIT_RUNNING — aplikasi ditutup setelah job dan task yang sedang berjalan dengan thread yang dialokasikan selesai. | Tidak ada (dinonaktifkan) |
setGraceShutdownTimeout(long delay) | Waktu tunggu maksimum, dalam detik, bagi job yang sedang berjalan untuk menyelesaikan sebelum aplikasi dimatikan. Jika nilai ini tidak ditetapkan atau ≤ 0, graceful shutdown tidak berlaku. | Tidak ada |
Logging dan diagnostik
| Parameter | Deskripsi | Bawaan |
|---|---|---|
setSlsCollectorEnable(boolean enable) | Mengaktifkan atau menonaktifkan pengumpulan log melalui Simple Log Service (SLS). | true |
Label dan pemuatan kelas
| Parameter | Deskripsi | Bawaan |
|---|---|---|
setLabel(String label) | Menetapkan label ke aplikasi saat startup. Gunakan label untuk mengarahkan job ke worker tertentu. Kasus penggunaan umum mencakup rilis canary dan uji stres. | Tidak ada |
setClassLoader(ClassLoader userClassLoader) | Menetapkan class loader kustom untuk aplikasi non-Spring yang menggunakan framework pihak ketiga. | Tidak ada |