全部产品
Search
文档中心

DataWorks:Alur kerja yang dipicu

更新时间:Dec 13, 2025

DataWorks mendukung dua jenis penjadwalan alur kerja: Recurring Schedule dan Triggered Schedule. Berbeda dengan alur kerja berulang yang dijalankan pada waktu tetap, alur kerja yang dipicu merupakan model eksekusi on-demand yang dimulai oleh sinyal eksternal, seperti tindakan manual, panggilan API, atau pesan event. Model ini memberikan kemampuan real-time dan fleksibilitas yang lebih tinggi untuk pemrosesan data.

Pengenalan fungsi

DataWorks mendukung dua mode penjadwalan alur kerja: recurring schedule dan triggered schedule.

Triggered schedule adalah mode penjadwalan on-demand. Berbeda dengan alur kerja berulang yang berjalan secara otomatis pada waktu tetap, alur kerja yang dipicu dimulai oleh sinyal eksternal. Mode ini menawarkan fleksibilitas tinggi dan cocok untuk skenario yang memerlukan integrasi terprogram atau respons terhadap event eksternal.

Tiga metode pemicu berikut didukung:

  • Manual trigger: Anda dapat menjalankan alur kerja secara manual di Konsol DataWorks.

  • OpenAPI trigger: Sistem eksternal dapat memicu alur kerja untuk dijalankan dengan memanggil OpenAPI.

  • Event trigger: Trigger yang telah dikonfigurasi sebelumnya mendengarkan event tertentu, seperti unggahan file OSS atau kedatangan pesan di antrian pesan seperti Kafka, untuk secara otomatis memulai alur kerja. Pemicu event hanya diaktifkan setelah alur kerja dipublikasikan ke lingkungan produksi.

Konfigurasi node internal, seperti node PyODPS dan Shell, dalam alur kerja yang dipicu sama dengan alur kerja berulang, tetapi Anda tidak perlu mengonfigurasi periode penjadwalan.

Kuota dan batasan

  • Jumlah node: Satu alur kerja mendukung maksimal 400 node internal. Kami menyarankan agar jumlah node tetap di bawah 100 untuk menyederhanakan tampilan dan pemeliharaan alur kerja.

  • Instans konkuren: Nilai maksimum untuk Maximum Parallel Instances adalah 100.000.

  • Alur kerja hanya dapat dipicu secara otomatis oleh event setelah dipublikasikan ke lingkungan produksi (Operation Center).

  • Batasan konfigurasi: Untuk penjadwalan tingkat node, Anda hanya dapat mengonfigurasi Priority, bukan Priority Weighting Policy.

Akses fitur

  1. Buka halaman Workspaces di Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Temukan ruang kerja yang diinginkan dan pilih Shortcuts > Data Studio di kolom Actions.

  2. Di panel navigasi kiri, klik image. Lalu, di sebelah kanan Project Folder, klik image > New Workflow untuk membuka halaman New Workflow.

    Pertama kali menggunakan Project Folder, Anda dapat mengklik tombol New Workflow untuk membuat alur kerja.

Buat alur kerja yang dipicu

  1. Di halaman New Workflow, Anda dapat mengatur Scheduling Type menjadi Triggered Schedule.

  2. Masukkan Name untuk alur kerja dan klik Confirm.

  3. (Opsional) Di sisi kanan kanvas, klik Schedule Configuration. Klik Scheduling Policy dan pilih pemicu dari daftar tarik-turun untuk mengaitkannya dengan alur kerja saat ini.

Rancang alur kerja yang dipicu

  1. Orkestrasikan node

    Di panel kiri kanvas alur kerja, pilih jenis node yang diperlukan berdasarkan tugas Anda. Seret node ke kanvas dan hubungkan node secara manual untuk mengonfigurasi dependensinya.

    Konfigurasi node mirip dengan alur kerja berulang, tetapi Anda tidak perlu mengonfigurasi periode penjadwalan.

  2. Konfigurasikan parameter penjadwalan alur kerja

    Di sisi kanan kanvas alur kerja, klik tombol konfigurasi penjadwalan. Di antarmuka Scheduling Parameters, klik Add Parameter untuk mengatur parameter penjadwalan alur kerja. Parameter ini berlaku untuk seluruh alur kerja saat ini dan dapat dirujuk oleh semua node internalnya.

    Catatan

    Jika node internal dalam alur kerja dikonfigurasi dengan parameter penjadwalan yang memiliki nama sama dengan parameter penjadwalan alur kerja, parameter tingkat node akan diutamakan.

  3. Kaitkan pemicu (Opsional)

    Untuk memicu alur kerja secara otomatis dengan event, pertama-tama konfigurasikan pemicu di Operation Center. Kemudian, di sisi kanan kanvas alur kerja, buka Schedule Configuration > Scheduling Policy dan pilih pemicu yang telah dibuat untuk mengaitkannya dengan alur kerja.

  4. Konfigurasikan prioritas dan konkurensi (Konfigurasi Lanjutan)

    Saat beberapa alur kerja atau tugas dipicu secara bersamaan dan menyebabkan bottleneck sumber daya sistem, Anda dapat menggunakan Priority dan Weighting Policy untuk penjadwalan sumber daya cerdas. Ini memastikan tugas paling penting dieksekusi terlebih dahulu.

    • Jamin kelangsungan bisnis inti: Anda dapat mengatur prioritas lebih tinggi untuk alur kerja bisnis inti sehingga selalu dijalankan sebelum alur kerja non-inti lainnya.

    • Kurangi durasi proses kritis: Dalam satu instans alur kerja, Anda dapat memengaruhi urutan eksekusi node menggunakan Priority Weighting Policy. Misalnya, dengan kebijakan Downward weighting, node pada jalur kritis yang memiliki lebih banyak dependensi hulu diberi bobot dinamis lebih tinggi. Hal ini memungkinkan node tersebut dieksekusi terlebih dahulu, sehingga memperpendek waktu proses seluruh alur kerja.

      Item konfigurasi

      Deskripsi fungsi

      Priority

      Menentukan tingkat prioritas absolut suatu instans alur kerja dalam antrean penjadwalan. Tingkat yang tersedia adalah 1, 3, 5, 7, dan 8. Angka yang lebih tinggi menunjukkan prioritas lebih tinggi. Tugas atau alur kerja berprioritas tinggi selalu mendapatkan sumber daya penjadwalan sebelum yang berprioritas rendah.

      Priority Weighting Policy

      Menentukan cara bobot node internal (tugas) dihitung secara dinamis dalam tingkat prioritas yang sama. Node dengan bobot lebih tinggi mendapatkan kesempatan eksekusi terlebih dahulu.

      • No weighting: Semua node memiliki bobot garis dasar tetap.

      • Downward weighting: Bobot node disesuaikan secara dinamis. Semakin banyak dependensi hulu yang dimiliki node, semakin tinggi bobotnya. Kebijakan ini membantu node pada jalur kritis Grafik asiklik terarah (DAG) dieksekusi terlebih dahulu. Bobot dihitung sebagai: Nilai bobot awal + Jumlah prioritas semua node hulu.

      Maximum Parallel Instances

      Mengontrol jumlah maksimum instans alur kerja ini yang dapat berjalan secara bersamaan. Ini digunakan untuk kontrol konkurensi dan perlindungan sumber daya. Saat jumlah instans yang berjalan mencapai batas, instans yang dipicu selanjutnya akan masuk ke keadaan menunggu. Anda dapat mengatur nilai ini ke Unlimited atau menentukan nilai maksimum kustom hingga 100.000.

      Catatan

      Jika batas yang ditetapkan melebihi kapasitas maksimum kelompok sumber daya, bottleneck konkurensi aktual akan ditentukan oleh batas fisik kelompok sumber daya tersebut.

    Sistem prioritas DataWorks mengikuti aturan penggantian hierarkis: Runtime specification > Node-level configuration > Workflow-level configuration.

    1. Konfigurasi tingkat alur kerja (Garis dasar): Diatur di Scheduling Policy alur kerja dan berfungsi sebagai pengaturan default untuk semua node.

    2. Konfigurasi tingkat node (Lokal): Di halaman Schedule Configuration > Scheduling Policy untuk node individual dalam alur kerja, Anda dapat mengatur Priority yang lebih tinggi untuk node tersebut. Pengaturan ini menggantikan konfigurasi tingkat alur kerja.

    3. Saat memicu eksekusi secara manual di Operation Center, Anda dapat menggunakan sakelar Reset Priority At Runtime untuk menentukan konfigurasi sementara. Konfigurasi ini memiliki prioritas tertinggi, hanya berlaku untuk eksekusi saat ini, dan tidak mengubah konfigurasi permanen apa pun.

Kembangkan alur kerja yang dipicu

  1. Kembangkan node

    Di halaman pengeditan node, Anda dapat mengedit kode node. Perhatikan poin-poin berikut selama pengembangan kode:

    • Sintaksis kode bergantung pada jenis node yang Anda pilih. Jenis tugas berbeda memiliki konfigurasi berbeda. Untuk informasi lebih lanjut tentang konfigurasi, lihat Pengembangan node.

    • Anda dapat mengaktifkan asisten pemrograman cerdas Copilot untuk mendapatkan saran penyelesaian kode cerdas dan meningkatkan efisiensi pengembangan.

    • Untuk sebagian besar jenis node, Anda dapat mendefinisikan variabel menggunakan format ${variable_name}. Hal ini memungkinkan Anda melakukan debug kode tugas dengan cepat dengan mensubstitusi nilai berbeda pada langkah berikutnya.

    • Saat mengeksekusi tugas penjadwalan, Anda dapat menggunakan format ${workflow.Parameter_name} untuk mengambil nilai parameter alur kerja di node internal.

  2. Gunakan parameter yang diteruskan oleh pemicu (Opsional)Pemicu dapat meneruskan informasi event, seperti path file atau konten pesan, sebagai parameter event untuk digunakan oleh node internal dalam alur kerja.

    Ambil contoh pemicu Kafka. Pesan Kafka ditunjukkan di bawah ini:

    Format isi pesan disediakan di bagian Message Format Example pada detail pemicu.
    {
      "headers": {
        "headers": [],
        "isReadOnly": false
      },
      "partition": 2,
      "offset": 1,
      "topic": "demo-topic",
      "key": "demo-key",
      "value": "{\"number\":100,\"name\":\"EventBridge\"}",
      "timestamp": 1713852706576
    }

    Di node internal alur kerja, gunakan parameter ${workflow.triggerMessage} untuk mengambil seluruh isi pesan. Anda juga dapat menggunakan ${workflow.triggerMessage.xxx} untuk mengambil nilai bidang tertentu dalam isi pesan. Parameter ini secara otomatis diganti saat pemicu memulai tugas. Contohnya:

    ${workflow.triggerMessage}  #Dapatkan seluruh isi pesan
    ${workflow.triggerMessage.key}  #Dapatkan nilai bidang key dari JSON. Hasil: demo-key
    ${workflow.triggerMessage.value}  #Dapatkan nilai bidang value dari JSON. Hasil: {"number":100,"name":"EventBridge"}

Debug alur kerja yang dipicu

  1. Debug node

    Setelah mengedit kode, klik Debug Configuration di sisi kanan halaman pengeditan node untuk mengonfigurasi parameter debug, seperti kelompok sumber daya dan parameter skrip. Setelah konfigurasi selesai, klik tombol Run di bilah alat. Node akan dijalankan menggunakan parameter yang Anda tentukan di Debug Configuration.

  2. Debug alur kerja

    Untuk melakukan debug alur kerja yang dipicu di Data Studio, klik ikon image Run di bilah alat di atas kanvas alur kerja. Di kotak dialog yang muncul, isi Trigger Message Body untuk mensimulasikan event.

    image

Publikasikan alur kerja yang dipicu

Setelah melakukan debug alur kerja, klik tombol image Publish di bilah alat untuk membuka panel penerbitan. Klik Start Publishing To Production. Tugas kemudian dipublikasikan sesuai proses pemeriksaan rilis. Untuk informasi lebih lanjut, lihat Publikasikan node atau alur kerja.

Jalankan alur kerja yang dipicu

Setelah alur kerja dipublikasikan ke Operation Center, alur kerja tersebut masuk ke keadaan siaga dan menunggu sinyal. Anda dapat menjalankan alur kerja yang dipicu dengan salah satu metode berikut.

Event trigger

  1. Berdasarkan jenis event dari pemicu yang baru dibuat, lakukan tindakan terkait pada objek yang dipantau oleh pemicu. Misalnya, untuk pemicu OSS, Anda dapat mengunggah file ke Bucket OSS yang Anda konfigurasi di pemicu. Untuk pemicu antrian pesan, Anda dapat mengirim pesan ke topik atau antrian yang Anda konfigurasi di pemicu.

  2. Setelah pemicu menerima pesan event, pemicu tersebut memulai alur kerja yang dipicu sebagai One-time Task di Operation Center.

  3. Buka Operation Center > One-time Task O&M > One-time Instance untuk melihat dan mengelola instans alur kerja yang dipicu yang telah dieksekusi. Anda dapat memeriksa log instans untuk memastikan alur kerja berhasil dipicu dan dieksekusi.

Manual trigger

  1. Buka Operation Center > One-time Task O&M > Triggered Workflow. Temukan alur kerja yang dipicu yang ingin Anda jalankan dan klik Run. Anda kemudian dapat mengonfigurasi parameter runtime, seperti cakupan eksekusi, waktu data, dan isi pesan pemicu.

Operasi lainnya

Salin alur kerja yang dipicu

Anda dapat menggunakan fitur salin untuk membuat alur kerja baru dengan cepat dari alur kerja yang sudah ada. Operasi salin menyalin node internal alur kerja (termasuk Code, Debug Configuration, dan Schedule Configuration), dependensi antar-node, serta Schedule Configuration alur kerja.

  1. Di Project Folder di sebelah kiri, klik kanan alur kerja yang dipicu yang ingin Anda salin.

  2. Di menu pop-up, pilih Clone. Jendela Clone terbuka.

  3. Di jendela tersebut, Anda dapat mengubah Name dan Path penyimpanan alur kerja yang dipicu secara opsional. Klik Confirm untuk memulai proses penyalinan.

  4. Saat proses penyalinan berlangsung, Anda dapat memantau Current Progress, Duration, dan Number Of Completed Nodes di jendela pop-up.

  5. Setelah penyalinan selesai, Anda dapat melihat alur kerja yang dipicu yang dihasilkan di Project Folder.

  6. Untuk menambahkan node baru ke alur kerja yang dipicu, Anda dapat membuat node dengan cepat dengan menyalin node yang sudah ada atau membuat node internal dengan menyeret dan melepas.

Manajemen versi alur kerja yang dipicu

Sistem memungkinkan Anda mengembalikan alur kerja yang dipicu ke versi historis tertentu menggunakan fitur manajemen versi. Fitur ini juga menyediakan fungsi penayangan dan perbandingan versi untuk membantu Anda menganalisis perbedaan dan melakukan penyesuaian.

  1. Di Project Folder di sebelah kiri, klik ganda alur kerja yang dipicu untuk membuka kanvas alur kerja.

  2. Klik Version di sisi kanan kanvas alur kerja. Di halaman Version, Anda dapat melihat dan mengelola Development Records dan Publishing Records.

    • View version:

      1. Di tab Development Records atau Publishing Records, temukan versi alur kerja yang dipicu yang diinginkan.

      2. Di kolom Operation, klik View. Di halaman detail, Anda dapat melihat Code dan Schedule Configuration alur kerja yang dipicu.

        Catatan

        Anda dapat melihat informasi Schedule Configuration dalam mode Code Editor atau visualization, dan beralih di antara keduanya di pojok kanan atas tab Schedule Configuration.

    • Compare versions:

      Anda dapat membandingkan versi alur kerja yang dipicu di tab Development Records atau Publishing Records. Contoh berikut menunjukkan operasi ini di tab Development Records.

      • Bandingkan versi di lingkungan pengembangan atau penerbitan: Di tab Development Records, pilih dua versi dan klik tombol Select And Compare di bagian atas. Anda kemudian dapat membandingkan kode dan konfigurasi penjadwalan antara dua versi alur kerja yang dipicu.

      • Bandingkan versi antara lingkungan pengembangan dan lingkungan penerbitan atau build:

        1. Di tab Development Records, temukan versi tertentu dari alur kerja yang dipicu.

        2. Klik tombol Compare di kolom Operation. Di jendela Please Select Content To Compare, pilih versi dari Publishing Records atau Build Records untuk dibandingkan.

    • Revert ke versi sebelumnya:

      Anda hanya dapat mengembalikan alur kerja yang dipicu ke versi historis tertentu di Development Records. Di tab Development Records, temukan versi target dan klik tombol Revert di kolom Operation. Tindakan ini mengembalikan alur kerja yang dipicu ke versi target.

      Catatan

      Saat Anda mengembalikan alur kerja, sistem memulihkan versi target dan membuat catatan versi baru.

Operasi lainnya

Setelah alur kerja yang dipicu dipublikasikan, Anda dapat melakukan operasi O&M di Operation Center. Untuk informasi lebih lanjut, lihat One-time Task O&M.