Dependensi hulu dan hilir standar mungkin tidak mencukupi untuk skenario bisnis yang kompleks. Misalnya, sebuah node harian mungkin perlu menunggu semua node per jam dari hari sebelumnya selesai. Anda juga mungkin perlu menggabungkan kondisi dari beberapa node menggunakan logika AND/OR. Dalam kasus seperti ini, Anda memerlukan alat yang lebih fleksibel. Topik ini menjelaskan cara menggunakan node pemeriksaan dependensi untuk membangun pemeriksaan dependensi kompleks lintas siklus, alur kerja, dan ruang kerja, sehingga Anda dapat mengontrol secara tepat kapan suatu node dipicu guna memastikan pemrosesan data yang akurat dan tepat waktu.
Ikhtisar fungsi
Node pemeriksaan dependensi adalah alat yang kuat dan fleksibel untuk menangani skenario dependensi lintas siklus yang kompleks. Misalnya, sebuah node harian mungkin perlu menunggu semua node per jam dari hari sebelumnya berhasil sebelum dijalankan. Sebuah node juga mungkin perlu memenuhi kondisi dari beberapa node di ruang kerja yang berbeda.
Fitur utama:
Dependensi lintas entitas: Tetapkan dependensi lintas ruang kerja dan alur kerja.
Dependensi lintas siklus: Tentukan rentang waktu yang tepat untuk instans node leluhur dalam dependensi lintas siklus.
Kombinasi logika kompleks: Gabungkan beberapa kondisi pemeriksaan dependensi menggunakan hubungan AND dan OR.
Kebijakan pemeriksaan kustom: Tetapkan frekuensi pemeriksaan dan waktu tunggu maksimum kustom. Node akan gagal jika pemeriksaan melebihi batas waktu.
Ikhtisar antarmuka konfigurasi
Konfigurasi untuk node pemeriksaan dependensi terdiri dari dua bagian utama: Check dependencies dan Check settings.

Konfigurasikan node pemeriksaan dependensi
Inti dari konfigurasi node pemeriksaan dependensi adalah membangun logika pemeriksaan dependensinya. Anda dapat mendefinisikan beberapa item pemeriksaan dan kelompok pemeriksaan serta menggabungkannya menggunakan hubungan AND/OR. Setiap item pemeriksaan mengarah ke instans satu atau beberapa node leluhur dalam rentang waktu tertentu. Saat node pemeriksaan dependensi dijalankan, ia mengevaluasi seluruh ekspresi logika tersebut dan mengembalikan nilai Boolean (True/False) yang menentukan apakah node turunan akan dieksekusi atau diblokir.
Konfigurasikan item pemeriksaan dependensi
Anda dapat menetapkan beberapa kelompok pemeriksaan dalam node pemeriksaan dependensi. Setiap kelompok dapat berisi beberapa Check item untuk membangun jaringan dependensi yang kompleks.
Tambahkan kelompok pemeriksaan dan item pemeriksaan:
Klik + Add Item untuk membuat kondisi pemeriksaan dependensi baru.
Atur beberapa item pemeriksaan ke dalam satu kelompok pemeriksaan.
Konfigurasikan konten item pemeriksaan:
Task: Masukkan Output Name, Name, atau ID dari node leluhur untuk mencari dan memilihnya.
Anda dapat memilih node dari alur kerja yang sama, alur kerja berbeda di ruang kerja ini, atau ruang kerja lain yang Anda miliki izinnya.
PentingUntuk dependensi penjadwalan lintas ruang kerja atau lintas alur kerja yang sederhana, lihat Configure cross-workflow and cross-workspace scheduling dependencies.
Jika Anda memilih node yang belum dipublikasikan ke lingkungan produksi, sistem akan menampilkan prompt berikut: The selected node is not published to the production environment. The check may fail at runtime.
Period: Periode menentukan instans historis mana dari node leluhur yang diperiksa saat waktu proses. Pilih jenis periode sesuai kebutuhan Anda. Tabel berikut memberikan rincian lebih lanjut.
CatatanKondisi dalam satu item pemeriksaan digabungkan menggunakan hubungan AND. Misalnya, jika Anda memilih semua node per jam untuk hari ini, semuanya harus berhasil dijalankan agar pemeriksaan mengembalikan nilai True.
Jenis periode
Opsi
Deskripsi
Minute
Previous X minutes(X adalah 0–59)Memeriksa instans dari
Xmenit sebelum waktu saat ini.Current minutebersesuaian denganPrevious 0 minutes.Hour
Previous X hours(X adalah 0–23)Memeriksa instans dari
Xjam sebelum waktu saat ini.Current hourbersesuaian denganPrevious 0 hours.Day
Previous X days(X adalah 0–7)Memeriksa instans dari
Xhari yang lalu.Todaybersesuaian denganPrevious 0 days.Week
Monday to Sunday of this week,Monday to Sunday of last week,Last Monday,Last Tuesday...Last Sunday.Memeriksa instans dalam rentang minggu yang ditentukan.
Month
First day to last day of this month,First day of this month,Last day of last month, dll.Memeriksa instans dalam rentang bulan yang ditentukan.
Tetapkan hubungan logika (AND/OR):
Di sisi kiri antarmuka, Anda dapat menetapkan hubungan logika antara kelompok pemeriksaan dan antara item pemeriksaan dalam satu kelompok.
AND: Semua item pemeriksaan atau kelompok pemeriksaan terkait harus berhasil.
OR: Hanya satu dari item pemeriksaan atau kelompok pemeriksaan terkait yang perlu berhasil.
Konfigurasikan pengaturan pemeriksaan
Di bagian bawah halaman, definisikan perilaku pemeriksaan node:
Check interval: Menentukan frekuensi pemeriksaan status semua dependensi. Nilai minimum adalah
1 minute/check.Max duration: Menentukan waktu tunggu maksimum untuk node. Jika durasi ini terlampaui dan dependensi masih belum terpenuhi, node pemeriksaan dependensi akan gagal. Nilai maksimum adalah
1440 minutes(24 jam).
Logika dan status saat waktu proses
Checking: Dalam Max duration, jika ada kondisi dependensi yang belum terpenuhi, node tetap berada dalam status Running. Node akan mencoba memeriksa kembali secara berkala berdasarkan pengaturan Check interval.
Succeeded: Dalam Max duration, jika semua kondisi dependensi terpenuhi sesuai logika AND/OR yang ditentukan, status node berubah menjadi Running Succeeded.
Failed:
Kondisi dependensi masih belum terpenuhi setelah Max duration terlampaui.
Saat pemeriksaan berlangsung, jika suatu item dependensi yang diperlukan (misalnya, dalam hubungan AND) mengarah ke node yang tidak ada, pemeriksaan dihentikan lebih awal dan status node diatur menjadi Failed.
Kasus penggunaan: Membuat node harian menunggu semua node per jam dari hari sebelumnya
Pertimbangkan skenario klasik dari pengantar. Anda memiliki node laporan ringkasan harian (rpt_daily_summary). Node ini harus menunggu keberhasilan semua 24 instans dari node per jam bernama ods_hourly_log dari hari sebelumnya (00:00 hingga 23:59) sebelum dapat dijalankan.
Seret node pemeriksaan dependensi
Dalam alur kerja Anda, seret node pemeriksaan dependensi ke hulu node harian Anda,rpt_daily_summary, lalu hubungkan keduanya.Konfigurasikan item pemeriksaan dependensi
Klik ganda node pemeriksaan dependensi untuk mengonfigurasi item pemeriksaan dependensinya.Tambahkan node dependensi: Klik + Add Item. Di kotak input Task, cari dan pilih node per jam,
ods_hourly_log.Tentukan rentang waktu: Anda perlu memeriksa semua instans per jam dari "hari sebelumnya". Atur Period ke
Day, lalu pilihPrevious 1 day.Sistem akan memeriksa apakah semua instans (24) dari node per jam ini pada hari kalender sebelumnya telah berhasil.
Tetapkan hubungan logika: Karena hanya ada satu item pemeriksaan, Anda dapat menggunakan hubungan logika
ANDdefault untuk kelompok pemeriksaan dan item-itemnya.
Konfigurasikan kebijakan pemeriksaan
Check interval: Misalnya, atur menjadi 5 minutes/check. Artinya, jika dependensi belum terpenuhi, sistem akan menunggu 5 menit sebelum memeriksa kembali.
Max duration: Misalnya, atur menjadi 180 minutes. Artinya, node akan menunggu maksimal 3 jam sejak waktu terjadwal node harian. Jika node per jam dari hari sebelumnya belum semuanya selesai setelah 3 jam, node pemeriksaan dependensi akan gagal. Hal ini mencegah node harian hilir dijalankan, sekaligus mencegah penantian tanpa batas dan memperlihatkan masalah secara cepat.
Setelah konfigurasi selesai, simpan dan publikasikan. Sekarang, node laporan harian Anda akan menunggu semua data per jam siap sebelum dijalankan.
Lampiran: Perbedaan dari dependensi penjadwalan
Node yang diperiksa dalam konfigurasi node pemeriksaan dependensi berbeda dari dependensi penjadwalan dalam konfigurasi penjadwalan. Perbedaannya sebagai berikut:
Atribut | Node yang diperiksa dalam node pemeriksaan dependensi | Node dependensi penjadwalan |
Metode pemicu | Node pemeriksaan dependensi secara aktif melakukan polling status item pemeriksaan. Node item pemeriksaan tidak memicu atau mengubah status node pemeriksaan dependensi. | Saat node target mencapai waktu proses terjadwalnya, ia memeriksa apakah status node dependensi penjadwalan memenuhi persyaratan. |
Visualisasi DAG | Dependensi terdapat dalam konfigurasi node dan tidak ditampilkan pada DAG. | Ditampilkan sebagai garis dependensi hulu dan hilir pada DAG. |
Interaksi backfill/rerun data | Menjalankan ulang atau melakukan backfill data untuk node item pemeriksaan tidak secara otomatis memicu node turunan. | Backfill data untuk node dependensi penjadwalan dapat secara opsional memicu node target. |