Siklus penjadwalan menentukan seberapa sering suatu node berjalan secara otomatis di lingkungan produksi. Berdasarkan siklus tersebut, sistem penjadwalan DataWorks menghasilkan instans berulang dan menjalankannya sesuai dengan dependensi antar node serta waktu terjadwal masing-masing instans.
Konsep inti
Instans berulang: Untuk setiap waktu data, sistem penjadwalan menghasilkan entitas runtime untuk tugas yang dipicu otomatis berdasarkan konfigurasi penjadwalannya—misalnya, berjalan setiap hari pukul 00:00. Entitas ini disebut instans berulang. Waktu proses, status, dan log node dikaitkan dengan instans ini.
Dependensi lintas siklus: Di DataWorks, node dengan siklus penjadwalan berbeda dapat saling bergantung. Misalnya, node downstream harian dapat bergantung pada node upstream per jam. Dependensi antar node merupakan dependensi antar instans berulangnya. Untuk informasi lebih lanjut, lihat Cross-cycle dependencies.
Dry-run: Untuk node yang tidak berjalan setiap hari, seperti node mingguan, bulanan, atau tahunan, sistem penjadwalan menghasilkan instans dry-run pada hari-hari non-terjadwal. Ketika instans ini mencapai waktu terjadwalnya, statusnya langsung berubah menjadi "Success", tetapi tidak menjalankan logika kode di dalam node tersebut. Tujuan utama dry-run adalah menyelesaikan dependensi dan memastikan bahwa node downstream harian dapat dipicu dengan benar.
Status instans adalah "Success", waktu eksekusi 0 detik, dan tidak menghasilkan log.
Tidak menggunakan sumber daya penjadwalan atau komputasi.
Tidak menghambat eksekusi node downstream. Bahkan jika node upstream berupa instans dry-run, node downstream tetap berjalan sesuai jadwal setelah kondisi eksekusinya terpenuhi.
Prinsip dasar dan skenario
Kondisi untuk eksekusi terjadwal
Instans berulang hanya berjalan setelah kedua kondisi berikut terpenuhi. Kedua kondisi ini dapat terpenuhi dalam urutan apa pun.
Semua instans upstream-nya telah berjalan dengan sukses. Ini mencakup instans yang selesai sebagai dry-run.
Instans tersebut telah mencapai waktu terjadwalnya.
Oleh karena itu, waktu terjadwal yang dikonfigurasi hanyalah waktu terjadwal yang diharapkan. Waktu eksekusi aktual suatu node dipengaruhi oleh faktor-faktor seperti waktu penyelesaian node upstream, ketersediaan sumber daya komputasi, dan kondisi eksekusi spesifik node tersebut.
Skenario penjadwalan alur kerja
Dalam alur kerja yang terdiri dari node A, B, dan C (A→B→C), konfigurasi waktu terjadwal memengaruhi eksekusi seluruh alur kerja:
Skenario 1: Waktu mulai seragam | |
Seluruh alur kerja harus dimulai setelah pukul 03:00. Untuk mencapai hal ini, atur waktu terjadwal node awal A menjadi |
Skenario 2: Waktu mulai berbeda untuk setiap node | |
Node A dijadwalkan berjalan pukul 03:00. Node B harus berjalan setelah pukul 05:00. Node C harus berjalan setelah pukul 06:00. Atur waktu terjadwal untuk node A, B, dan C masing-masing menjadi | |
Skenario 3: Waktu mulai spesifik hanya untuk beberapa node | |
Node A dijadwalkan berjalan pukul 03:00. Node B harus berjalan setelah pukul 05:00. Node C tidak memiliki kebutuhan waktu spesifik. Atur waktu terjadwal Node A menjadi | |
Dampak pembaruan waktu terjadwal
Setelah Anda mengubah waktu terjadwal suatu node di Scheduling Settings dan menerbitkan ulang node tersebut, dampaknya bergantung pada metode pembuatan instans yang Anda pilih:
Generate on the next day (T+1): Jika Anda memilih opsi ini dan menerbitkan node, waktu terjadwal instans yang sudah dibuat untuk hari ini (T) dan hari sebelumnya (T-1) diperbarui ke waktu baru. Hal ini berlaku baik untuk instans yang telah selesai maupun instans yang belum dijalankan. Instans mendatang akan dibuat berdasarkan waktu baru.
Generate instances now: Jika Anda memilih opsi ini, instans baru segera dibuat berdasarkan konfigurasi baru. Waktu terjadwal instans historis tidak diubah.
Konfigurasikan jenis penjadwalan
DataWorks mendukung enam siklus penjadwalan: menit, jam, hari, minggu, bulan, dan tahun. Di halaman pengeditan node di Data Studio, klik Scheduling Settings di sebelah kanan. Kemudian, konfigurasikan pengaturan di bagian Scheduling time.
Metode konfigurasi waktu terjadwal bergantung pada cara node diorganisasikan:
Node alur kerja: Jika suatu node merupakan bagian dari alur kerja, waktu terjadwal dikonfigurasi untuk seluruh alur kerja. Anda tidak dapat mengonfigurasi waktu terjadwal untuk node individual di dalam alur kerja. Untuk melakukan perubahan, buka konfigurasi penjadwalan alur kerja tersebut.
Node independen: Jika suatu node tidak termasuk dalam alur kerja apa pun, waktu terjadwalnya dikonfigurasi secara independen pada node tersebut.
Penjadwalan berbasis menit
Interval minimum untuk penjadwalan berbasis menit adalah 1 menit.
Contoh konfigurasi
Tujuan: Jadwalkan node untuk berjalan setiap 30 menit dari 00:00 hingga 23:59 setiap hari.
Ekspresi cron dihasilkan secara otomatis berdasarkan pilihan waktu Anda dan tidak dapat dimodifikasi secara manual.

Detail penjadwalan
Konfigurasi ini menghasilkan 48 instans berulang setiap hari. Waktu terjadwalnya adalah 00:00, 00:30, 01:00, ..., 23:30. Waktu data (bizdate) untuk setiap instans adalah tanggal hari tersebut.
Untuk informasi lebih lanjut, lihat Dependencies for minute-based tasks.
Penjadwalan berbasis jam
Catatan
Periode waktu bersifat inklusif. Misalnya, jika Anda mengonfigurasi node untuk berjalan setiap jam dari
00:00hingga03:00, sistem penjadwalan menghasilkan empat instans dengan waktu terjadwal00:00,01:00,02:00, dan03:00.Anda dapat mengatur periode waktu dan interval, atau menentukan beberapa waktu eksekusi spesifik.
Contoh konfigurasi
Tujuan: Jadwalkan node untuk berjalan secara otomatis setiap 6 jam dari 00:00 hingga 23:59 setiap hari.
Ekspresi cron dihasilkan secara otomatis berdasarkan pilihan waktu Anda dan tidak dapat dimodifikasi secara manual.

Detail penjadwalan
Sistem penjadwalan menghasilkan empat instans setiap hari dengan waktu terjadwal 00:00, 06:00, 12:00, dan 18:00.
Untuk informasi lebih lanjut, lihat Dependencies for hour-based tasks.
Penjadwalan berbasis hari
Node berbasis hari berjalan sekali sehari pada waktu tertentu. Saat membuat tugas yang dipicu otomatis baru, waktu terjadwal default dihasilkan secara acak dalam rentang 00:00 hingga 00:30. Anda dapat mengubah waktu ini sesuai kebutuhan.
Contoh konfigurasi
Tujuan: Jalankan node sekali sehari pukul 13:00.
Ekspresi cron dihasilkan secara otomatis berdasarkan pilihan waktu Anda dan tidak dapat dimodifikasi secara manual.

Detail penjadwalan
Sistem penjadwalan menghasilkan satu instans untuk tugas ini setiap hari, dengan waktu terjadwal pukul 13:00 pada hari tersebut.
Untuk informasi lebih lanjut, lihat Dependencies for day-based tasks.
Penjadwalan berbasis minggu
Pada hari-hari non-terjadwal, node berbasis minggu memicu dry-run untuk memastikan dependensi downstream dapat berjalan dengan benar. Untuk informasi lebih lanjut, lihat Dry-run.
Contoh konfigurasi
Tujuan: Jalankan tugas pada waktu tertentu setiap hari Senin dan Jumat. Instans yang dihasilkan pada hari Senin dan Jumat dijadwalkan dan dijalankan secara normal. Instans yang dihasilkan pada hari lain merupakan dry-run.
Ekspresi cron dihasilkan secara otomatis berdasarkan pilihan waktu Anda dan tidak dapat dimodifikasi secara manual.

Detail penjadwalan
Sistem penjadwalan secara otomatis menghasilkan dan menjalankan instans untuk tugas tersebut.
Saat menggunakan fitur pengisian ulang data, perhatikan waktu data yang dipilih. Di DataWorks, waktu data = tanggal terjadwal - 1 hari. Misalnya, untuk mengisi ulang data tugas mingguan yang berjalan pada hari Senin, Anda harus memilih hari Minggu sebelumnya sebagai waktu data. Jika Anda memilih tanggal lain, instans pengisian ulang data akan menjadi dry-run.
Penjadwalan berbasis bulan
Pada hari-hari non-terjadwal, node berbasis bulan memicu dry-run untuk memastikan dependensi downstream dapat berjalan dengan benar. Untuk informasi lebih lanjut, lihat Dry-run.
Untuk penjadwalan berbasis bulan, Anda dapat mengatur parameter Specified time menjadi Last day of every month.
Contoh konfigurasi
Tujuan: Jalankan tugas pada waktu tertentu di hari terakhir setiap bulan. Instans yang dihasilkan pada hari terakhir bulan dijadwalkan dan dijalankan secara normal. Instans yang dihasilkan pada hari lain merupakan dry-run.
Ekspresi cron dihasilkan secara otomatis berdasarkan pilihan waktu Anda dan tidak dapat dimodifikasi secara manual.

Detail penjadwalan
Sistem penjadwalan secara otomatis menghasilkan dan menjalankan instans untuk tugas tersebut.
Saat menggunakan fitur pengisian ulang data, perhatikan waktu data yang dipilih. Di DataWorks, waktu data = tanggal terjadwal - 1 hari. Misalnya, untuk mengisi ulang data tugas akhir bulan yang berjalan pada 31 Januari, Anda harus memilih 30 Januari sebagai waktu data. Jika Anda memilih tanggal lain, instans pengisian ulang data akan menjadi dry-run.
Penjadwalan berbasis tahun
Pada hari-hari non-terjadwal, node berbasis tahun memicu dry-run untuk memastikan dependensi downstream dapat berjalan dengan benar. Untuk informasi lebih lanjut, lihat Dry-run.
Contoh konfigurasi
Tujuan: Jalankan tugas pada tanggal 1 dan hari terakhir bulan Januari, April, Juli, dan Oktober setiap tahun. Instans yang dihasilkan pada tanggal yang ditentukan dijadwalkan dan dijalankan secara normal. Instans yang dihasilkan pada hari lain merupakan dry-run.

Detail penjadwalan
Sistem penjadwalan secara otomatis menghasilkan dan menjalankan instans untuk tugas tersebut.
Untuk informasi lebih lanjut, lihat Principles and examples for configuring complex dependencies.