DataWorks menyediakan alur kerja yang dipicu otomatis untuk skenario bisnis yang memerlukan eksekusi berkala. Topik ini menjelaskan cara menggunakan alur kerja yang dipicu otomatis.
Informasi latar belakang
Alur kerja adalah alat untuk mengelola aliran pemrosesan data otomatis. Anda dapat mengintegrasikan berbagai jenis node tugas melalui antarmuka visual seret-dan-lepas, sehingga menyederhanakan pembuatan dependensi tugas, mempercepat pengembangan aliran pemrosesan data, dan meningkatkan efisiensi pengembangan.
Dependensi penjadwalan yang didukung oleh alur kerja yang dipicu otomatis
Konfigurasi dependensi penjadwalan untuk alur kerja yang dipicu otomatis mirip dengan node biasa. Node internal alur kerja atau keseluruhan alur kerja dapat bergantung pada tugas lain atau menjadi dependensi bagi node lain. Rinciannya sebagai berikut:
Seluruh alur kerja dapat menjadi dependensi bagi tugas lain, seperti tugas independen atau alur kerja lain.
Seluruh alur kerja dapat bergantung pada tugas lain, seperti tugas independen atau alur kerja lain.
Transisi status runtime alur kerja yang dipicu otomatis
Alur kerja yang dipicu otomatis mendukung pengaturan jadwal berbasis waktu untuk seluruh alur kerja. Eksekusi node internal dipengaruhi oleh jadwal berbasis waktu ini. Jika node turunan bergantung pada seluruh alur kerja, eksekusi node turunan tersebut juga dipengaruhi oleh jadwal berbasis waktu alur kerja tersebut. Dalam skenario penjadwalan, status keberhasilan seluruh alur kerja bergantung pada status eksekusi node internalnya.
Skenario khusus:
Jika alur kerja berisi instans yang dibekukan atau dijeda, seluruh instans alur kerja ditetapkan ke status Failed.
Ketika Anda membekukan instans pengisian ulang data untuk node alur kerja, instans alur kerja ditetapkan ke status Successful.
Dalam skenario pengisian ulang data, jika suatu tugas tidak dapat dieksekusi, alur kerja ditetapkan ke status Failed.
Terdapat latensi antara pembaruan status instans dan kejadian kegagalan aktual.
Jika alur kerja berisi node merge, node hulu dari node merge tersebut mungkin gagal. Dalam kasus ini, status keberhasilan alur kerja ditentukan oleh status node merge tersebut.
Waktu eksekusi dan substitusi parameter untuk node internal alur kerja yang dipicu otomatis
Node internal alur kerja tidak memerlukan konfigurasi Scheduling Cycle. Anda hanya perlu mengatur Delayed Execution Time, yang menentukan penundaan penjadwalan relatif terhadap jadwal berbasis waktu yang ditetapkan untuk alur kerja.
Waktu eksekusi aktual dihitung berdasarkan Scheduling Time yang dikonfigurasi untuk alur kerja dan Delayed Execution Time yang dikonfigurasi untuk node internal.
Nilai parameter penjadwalan untuk node internal ditentukan oleh jadwal berbasis waktu keseluruhan alur kerja, bukan oleh waktu eksekusi tertunda.
Sistem secara otomatis menambahkan parameter alur kerja kustom ke parameter penjadwalan node internal. Anda dapat mengambil parameter alur kerja ini di dalam node internal.
Tindakan Pencegahan
Alur kerja yang dipicu otomatis hanya didukung di versi baru DataStudio. Fitur ini tidak tersedia di versi lama Data Development.
Saat Anda membuat alur kerja yang dipicu otomatis, pilih Periodic Scheduling sebagai tipe penjadwalan.
Alur kerja yang dapat direferensikan tidak dapat bergantung pada tugas lain. Alur kerja ini tidak dijadwalkan secara otomatis secara default setelah dipublikasikan ke lingkungan produksi.
PentingSetelah Anda mengaktifkan fitur Can Be Referenced untuk suatu alur kerja, alur kerja tersebut dan node internalnya tidak dapat bergantung pada tugas lain—termasuk alur kerja atau node lain di luar alur kerja ini—dan juga tidak dapat menjadi dependensi bagi tugas lain, termasuk node root ruang kerja. Jika tidak, terjadi error saat publikasi dan proses publikasi gagal.
Alur kerja dengan fitur Can Be Referenced yang diaktifkan tidak dijadwalkan secara otomatis secara default setelah dipublikasikan ke lingkungan produksi. Alur kerja ini hanya dijalankan ketika alur kerja lain mereferensikannya menggunakan SUB_PROCESS node.
Buka halaman Buat Alur Kerja
Buka halaman Workspaces di Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Temukan ruang kerja yang diinginkan dan pilih di kolom Actions.
Di panel navigasi sebelah kiri, klik
. Lalu, di sebelah kanan Workspace Directories, klik ikon
di sisi kanan dan pilih Create Workflow.CatatanPertama kali Anda melakukan operasi di bagian Workspace Directories panel DATA STUDIO, Anda dapat langsung mengklik Create Workflow untuk membuat alur kerja.
Buat alur kerja yang dipicu otomatis
Di halaman Create Workflow, pilih Periodic Scheduling sebagai tipe penjadwalan.
CatatanPenjadwalan berbasis waktu memungkinkan Anda menentukan frekuensi penjadwalan tugas dan memicu eksekusi tugas pada waktu tertentu.
Untuk informasi tentang cara membuat alur kerja yang dipicu event, lihat Event-triggered workflows.
Masukkan nama alur kerja dan klik OK untuk membuatnya.
Rancang alur kerja yang dipicu otomatis
Di sisi kiri kanvas alur kerja, pilih node yang sesuai dengan jenis tugas yang Anda perlukan. Seret node tersebut ke kanvas dan hubungkan untuk mengonfigurasi dependensi.
DataWorks mengenkapsulasi kemampuan Mesin DPI ke dalam node, sehingga memungkinkan Anda melakukan pengembangan data visual menggunakan node berbasis engine, bukan command line engine yang kompleks. Anda juga dapat menggunakan node umum yang disediakan platform untuk menangani logika kompleks.
Satu alur kerja mendukung maksimal 400 node internal. Untuk pengalaman tampilan dan pemeliharaan terbaik, kami menyarankan agar jumlah node tetap di bawah 100.
Siklus Pengembangan Alur Kerja
Ikuti langkah-langkah berikut untuk mengembangkan alur kerja. Untuk informasi lebih lanjut tentang cara mereferensikan alur kerja dan pass parameter antara alur kerja dan node internalnya, lihat Lampiran: Referensi Alur Kerja.
Buka halaman pengeditan node internal.
Di kanvas alur bisnis, arahkan pointer ke node target dan klik Open Node untuk membuka halaman pengeditan node internal.
Kembangkan node internal.
Di halaman pengeditan node, edit kode node tersebut. Perhatikan hal-hal berikut saat mengembangkan kode:
Sintaksis kode bergantung pada jenis node yang dipilih. Jenis tugas yang berbeda memiliki konfigurasi yang berbeda. Untuk informasi lebih lanjut tentang konfigurasi tersebut, lihat Node development.
Anda dapat mengaktifkan Copilot Intelligent Programming Assistant untuk mendapatkan saran penyelesaian kode cerdas dan meningkatkan efisiensi pengembangan.
Untuk sebagian besar jenis node, Anda dapat mendefinisikan variabel menggunakan format
${variable_name}, sehingga memungkinkan Anda memberikan nilai berbeda untuk debugging cepat pada langkah berikutnya.Ketika tugas terjadwal dieksekusi, Anda dapat mengambil nilai parameter alur kerja di node internal menggunakan format
${workflow.Parameter_name}.CatatanKetika Anda menggunakan parameter alur kerja di node Shell atau Python, sistem secara otomatis menambahkan parameter ini ke daftar parameter node dalam format
k=v. Anda dapat mengurai dan mengambil nilai parameter yang sesuai dalam format ini di dalam kode node.Hanya Serverless resource groups yang mendukung pengambilan nilai parameter alur kerja di node internal dengan cara ini.
Debug dan jalankan node internal.
Konfigurasi parameter debug. Setelah selesai mengedit kode, klik Debugging Configurations di sisi kanan halaman pengeditan node untuk mengonfigurasi parameter debug.
Di bagian Computing Resource, tentukan sumber daya komputasi untuk tugas selama fase debugging.
Di bagian DataWorks Configurations, tentukan kelompok sumber daya untuk eksekusi tugas DataWorks.
Jika Anda mendefinisikan variabel dalam kode menggunakan format
${variable_name}, Anda harus memberikan nilai konstan untuk nama variabel yang sesuai di Script Parameters.
Debug dan jalankan tugas. Setelah konfigurasi selesai, klik tombol Run di bilah alat. Node tersebut dijalankan menggunakan parameter debug yang Anda konfigurasi di Debugging Configurations.
Debug alur kerja yang dipicu otomatis
Setelah Anda mengembangkan dan mendebug node internal alur kerja, debug dan jalankan tugas alur kerja tersebut.
Klik ikon
di bilah alat di atas kanvas alur bisnis. Di kotak dialog Enter Runtime Parameters, masukkan secara manual Value Used in This Run. Klik OK.Di kanvas alur bisnis, klik node internal alur kerja untuk melihat hasil eksekusi tugas.
Publikasikan alur kerja yang dipicu otomatis
Ikuti prosedur di bawah ini untuk menentukan konfigurasi penjadwalan untuk alur kerja dan node internalnya. Kemudian, publikasikan alur kerja ke lingkungan produksi untuk eksekusi berkala.
Konfigurasikan penjadwalan untuk node internal.
Konfigurasi penjadwalan untuk node internal alur kerja mirip dengan konfigurasi untuk node biasa. Untuk informasi lebih lanjut tentang konfigurasi tersebut, lihat Scheduling dependencies. Perhatikan hal-hal berikut selama konfigurasi:
Node internal alur kerja tidak memerlukan jadwal berbasis waktu terpisah. Anda dapat mengatur Delayed Execution Time, yang menentukan penundaan sebelum tugas dijalankan setelah alur kerja dimulai.
Nilai variabel yang digunakan dalam kode node internal bergantung pada jadwal berbasis waktu alur kerja.
Konfigurasikan penjadwalan untuk alur kerja.
Konfigurasikan Scheduling Parameters, Scheduling Time, dan Scheduling Dependencies alur kerja.
Publikasikan alur kerja.
Klik tombol
di bilah alat untuk membuka panel publikasi. Klik Start Deployment to Production Environment. Tugas dipublikasikan berdasarkan proses pemeriksaan pra-publikasi. Untuk informasi lebih lanjut, lihat Publish nodes/workflows.
Langkah selanjutnya: O&M Alur Kerja
Setelah alur kerja yang dipicu otomatis dipublikasikan, alur kerja tersebut dijadwalkan untuk dijalankan secara berkala. Anda dapat membuka Operation Center di lingkungan produksi untuk melihat status penjadwalan alur kerja yang dipicu otomatis dan melakukan operasi O&M. Untuk informasi lebih lanjut, lihat Operation Center dan Data backfill.
Operasi lainnya
Klon alur kerja yang dipicu otomatis
Anda dapat menggunakan fitur klon untuk membuat alur kerja yang dipicu otomatis baru dengan cepat dari alur kerja yang sudah ada. Konten yang diklon mencakup node internal alur kerja asli, termasuk Code, Debugging Configurations, dan Scheduling-nya. Konten tersebut juga mencakup dependensi antar node dan Scheduling alur kerja itu sendiri, yang berisi Scheduling Parameters dan Scheduling Policy.
Konten yang diklon tidak mencakup informasi Scheduling Time dan Scheduling Dependencies dari Scheduling. Anda harus mengonfigurasi parameter ini.
Di Workspace Directories di sebelah kiri, klik kanan nama alur kerja yang dipicu otomatis yang ingin Anda klon.
Di menu pop-up, pilih Clone untuk membuka kotak dialog klon.
Di kotak dialog klon, ubah Name alur kerja dan simpan Path. Anda dapat menggunakan nilai default. Klik Confirm untuk memulai proses klon.
Selama proses klon, Anda dapat melihat detail seperti Current Progress, Duration, dan Number of Completed Nodes di kotak dialog.
Setelah proses klon selesai, Anda dapat melihat alur kerja yang dipicu otomatis yang baru di Workspace Directories.
Untuk menambahkan node baru ke alur kerja yang dipicu otomatis, Anda dapat membuat node dengan klon atau membuat node internal dengan seret-dan-lepas.
Manajemen versi
Anda dapat menggunakan fitur manajemen versi untuk mengembalikan alur kerja ke versi historis. Fitur ini juga menyediakan kemampuan melihat dan membandingkan versi untuk membantu Anda menganalisis perbedaan dan melakukan penyesuaian.
Di Workspace Directories di sebelah kiri, klik ganda nama alur kerja yang dipicu otomatis target untuk membuka kanvas alur kerja.
Di sisi kanan kanvas alur kerja, klik Versions. Di halaman Versions, lihat dan kelola Development Records dan Publishing Records.
View versi:
Di tab Development Records atau Publishing Records, temukan versi alur kerja yang dipicu otomatis yang ingin Anda lihat.
Klik View di kolom Actions. Di halaman detail, Anda dapat melihat informasi Code dan Scheduling alur kerja yang dipicu otomatis.
CatatanInformasi Scheduling dapat dilihat dalam mode Code Editor dan Visualization. Anda dapat mengganti mode tampilan di pojok kanan atas tab Scheduling.
Compare versi:
Anda dapat membandingkan versi berbeda dari alur kerja yang dipicu otomatis di tab Development Records atau Publishing Records. Contoh berikut menjelaskan cara melakukan perbandingan menggunakan catatan pengembangan.
Bandingkan versi di lingkungan pengembangan atau publikasi: Di tab Development Records, pilih dua versi dan klik tombol Compare Selected di atas daftar. Anda kemudian dapat membandingkan kode dan informasi konfigurasi penjadwalan dari versi alur kerja yang berbeda.
Bandingkan versi antara lingkungan pengembangan dan publikasi atau build:
Di tab Development Records, temukan versi alur kerja yang dipicu otomatis.
Klik tombol Compare di kolom Actions. Di jendela Please Select Content to Compare, pilih versi dari tab Publishing Records atau Build Records untuk dibandingkan.
Revert versi:
Anda hanya dapat mengembalikan alur kerja yang dipicu otomatis ke versi historis dari tab Development Records. Di tab Development Records, temukan versi target dan klik tombol Revert di kolom Actions. Hal ini akan mengembalikan alur kerja yang dipicu otomatis ke versi target.
CatatanSaat Anda mengembalikan alur kerja, sistem memulihkan alur kerja berdasarkan versi target dan menghasilkan catatan versi baru.
Lampiran: Referensi Alur Kerja
Skenario 1: Referensikan alur kerja
Dalam suatu alur kerja, Anda dapat menggunakan node SUB_PROCESS untuk mereferensikan alur kerja lain. Untuk alur kerja yang direferensikan, Anda harus mengaktifkan sakelar Can Be Referenced di konfigurasi Properties di sisi kanan halaman pengeditan alur kerja.
Alur kerja dengan fitur Can Be Referenced yang diaktifkan tidak dijadwalkan secara otomatis setelah dipublikasikan ke lingkungan produksi. Alur kerja ini hanya dijalankan ketika alur kerja lain mereferensikannya menggunakan SUB_PROCESS node.
Alur kerja yang direferensikan dijadwalkan dan dieksekusi bersama dengan alur kerja yang mereferensikannya.
Skenario 2: Ambil parameter alur kerja
Jika Anda mendefinisikan parameter dalam alur kerja, sistem secara otomatis menambahkan parameter alur kerja kustom ke parameter penjadwalan node internal saat tugas dijadwalkan. Anda dapat mengambil parameter ini di node internal alur kerja dengan melakukan langkah-langkah berikut:
Definisikan parameter alur kerja.
Di Workspace Directories di sebelah kiri, pilih alur kerja yang ingin Anda edit.
Di sisi kanan kanvas alur kerja, di bagian Scheduling, klik Add Parameter. Masukkan Parameter Name dan Parameter Value.
Ambil parameter alur kerja.
Buka alur kerja yang telah Anda edit. Di alur kerja tersebut, pilih node internal yang ingin Anda edit.
Arahkan pointer ke node internal dan pilih Open Node untuk membuka halaman pengeditan node internal.
Di sisi kanan halaman pengeditan node internal, temukan Parameter Name di bawah Workflow Parameters di bagian Scheduling.
Ambil parameter alur kerja.
Anda dapat mengambil parameter alur kerja menggunakan format
${workflow.Parameter_name}.
FAQ
Q: Mengapa alur kerja saya berjalan sesuai harapan saat debugging tetapi gagal saat dijalankan secara berkala?
A: Masalah ini dapat terjadi karena sumber daya komputasi dan kelompok sumber daya yang dipilih dalam konfigurasi penjadwalan untuk node internal alur kerja berbeda dari yang dipilih untuk eksekusi debug. Hal ini dapat menyebabkan eksekusi debug berhasil tetapi eksekusi terjadwal gagal.
Belum dijalankan
Menunggu
Berjalan
Berhasil
Gagal
Instans Dijeda/Dibekukan