All Products
Search
Document Center

DataWorks:Alur Kerja

Last Updated:Mar 26, 2026

Mengelola pipa data kompleks—di mana lusinan tugas harus dijalankan dalam urutan yang tepat, pada waktu yang tepat, dan hanya setelah inputnya siap—memerlukan lebih dari sekadar penjadwal pekerjaan. Alur kerja periodik di DataWorks mengatasi tantangan ini dengan menggabungkan orkestrasi DAG visual dan model eksekusi pemicu ganda: instans tugas hanya dijalankan ketika waktu terjadwalnya tiba dan semua dependensi hulu berhasil. Pendekatan ini memastikan pipa data Anda berjalan secara stabil, teratur, dan mandiri.

Gunakan alur kerja periodik untuk:

  • Mengotomatiskan pemrosesan data sesuai jadwal tetap: Jalankan tugas sinkronisasi data, pembersihan data, atau agregasi pada interval harian, per jam, atau mingguan.

  • Membangun alur dependensi Grafik asiklik terarah (DAG) yang kompleks: Gunakan kanvas seret-dan-lepas visual untuk menghubungkan node MaxCompute SQL, Hologres, E-MapReduce (EMR), Python, dan jenis node lainnya dengan dependensi hulu dan hilir.

  • Menjadwalkan dan mengelola beberapa sub-tugas secara terpusat: Kelompokkan tugas-tugas yang terkait secara logis ke dalam satu alur kerja yang dijadwalkan dan dipantau sebagai satu kesatuan.

Penting

Alur kerja hanya tersedia di versi baru DataWorks Data Studio. Untuk memeriksa versi yang Anda gunakan, lihat FAQ.

Panduan cepat

Bagian ini memandu Anda membuat alur kerja periodik sederhana dari awal. Tujuannya: menghitung total jumlah pesanan dari hari sebelumnya secara otomatis dan menulis hasilnya ke tabel setiap hari pukul 00:05.

Pipa ini terdiri dari dua node:

  • Virtual node (start_node) — titik awal kontrol

  • MaxCompute SQL (count_orders) — langkah pemrosesan data

Langkah 1: Siapkan mesin komputasi dan tabel hasil

Langkah ini menyiapkan infrastruktur yang dibutuhkan oleh alur kerja Anda.

  1. Di ruang kerja target Anda, bind MaxCompute sebagai mesin komputasi.

  2. Di MaxCompute, buat tabel hasil:

    -- Buat tabel hasil untuk menyimpan jumlah pesanan harian
    CREATE TABLE IF NOT EXISTS dw_order_count_test (
        order_date STRING,
        total_count BIGINT
    )
    PARTITIONED BY (ds STRING); -- Dipartisi berdasarkan tanggal

Langkah 2: Buat alur kerja periodik

Langkah ini membuat wadah alur kerja yang menampung semua node dan konfigurasi penjadwalan Anda.

  1. Buka halaman Workspaces di Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Temukan ruang kerja target dan pilih Shortcuts > Data Studio di kolom Actions. > Jika tombol menampilkan "Data Development", itu membuka versi lama. Jangan klik.

  2. Klik ikon image di panel navigasi kiri. Di sebelah kanan Workspace Directories, klik ![image](https://help-static-aliyun-doc.aliyuncs.com/assets/img/en-US/9003941571/p852270.png) > Create Workflow.

  3. Di kotak dialog New Workflow, atur Scheduling Type menjadi Periodic Scheduling, masukkan nama (misalnya, minimal_daily_demo), lalu selesaikan pembuatan.

Langkah 3: Orkestrasikan alur kerja

Langkah ini mendefinisikan struktur pipa menggunakan kanvas DAG.

  1. Di kanvas alur kerja, seret Virtual node dari panel komponen kiri dan beri nama start_node. > Node virtual mendefinisikan titik awal alur kerja dan tidak melakukan komputasi apa pun.

  2. Seret node MaxCompute SQL ke kanvas dan beri nama count_orders.

  3. Klik titik di bagian bawah start_node dan seret garis ke bagian atas count_orders untuk membuat dependensi.

Langkah 4: Tulis kode node

Langkah ini menambahkan logika bisnis yang dijalankan setiap hari.

Penting

Aktifkan DataWorks Copilot untuk penyelesaian kode cerdas.

  1. Klik dua kali count_orders untuk membuka editor kode node.

  2. Tulis logika SQL. Contoh ini menggunakan data simulasi:

    -- bizdate adalah parameter penjadwalan yang disuntikkan saat runtime.
    -- $[yyyymmdd-1] diselesaikan menjadi tanggal hari sebelumnya (misalnya, 20260119 jika hari ini 20260120).
    INSERT OVERWRITE TABLE dw_order_count_test PARTITION (ds='${bizdate}')
    SELECT
        '${bizdate}' AS order_date,
        COUNT(*) AS total_count
    FROM (SELECT 1 AS id UNION ALL SELECT 2 AS id) t; -- Data simulasi

    > Untuk detail pengembangan node, lihat Node MaxCompute SQL.

  3. Klik Save.

Langkah 5: Konfigurasikan siklus penjadwalan dan parameter

Langkah ini memberi tahu alur kerja kapan harus dijalankan dan nilai tanggal apa yang diteruskan ke SQL.

  1. Kembali ke kanvas alur kerja. Di panel kanan, buka Scheduling > Scheduling Time:

    • Atur Scheduling Cycle menjadi Daily.

    • Atur Schedule Time menjadi 00:05.

  2. Di editor node count_orders, buka Scheduling Configuration > Scheduling Parameters dan tambahkan:

    • Parameter Name: bizdate

    • Parameter Value: $[yyyymmdd-1] (tanggal hari sebelumnya)

Langkah 6: Debug node dan alur kerja

Debugging memvalidasi logika kode Anda sebelum alur kerja digunakan di lingkungan produksi.

  1. Debug node:

    1. Di editor node, klik Debugging Configurations di sisi kanan.

      • Di bawah Compute engine, pilih mesin MaxCompute dari Langkah 1.

      • Di bawah Script Parameters, atur Value Used in This Run (default ke tanggal kemarin).

    2. Klik Run di bilah alat. Node dijalankan dengan parameter yang Anda tentukan.

    3. Jika hasilnya sudah benar, klik Sync to Scheduling untuk menerapkan konfigurasi debug ke konfigurasi penjadwalan.

  2. Debug seluruh alur kerja:

    1. Di kanvas alur kerja, klik ikon image di bilah alat atas.

    2. Di kotak dialog, masukkan Current Run Value untuk variabel alur kerja. Misalnya, jika hari ini 20260120, atur bizdate menjadi 20260119.

Langkah 7: Publikasikan ke produksi

Penerbitan membuat tugas periodik di lingkungan produksi yang dijalankan sesuai jadwal yang telah ditentukan.

  1. Kembali ke alur kerja dan klik tombol image di bilah alat atas.

  2. Di panel penerbitan, sistem menjalankan pemeriksaan dependensi dan konfigurasi. Setelah pemeriksaan berhasil, klik Start Deployment to Production Environment dan pilih Full Deployment.

  3. Buka Operation Center untuk memastikan alur kerja muncul di daftar tugas periodik.

Alur kerja sekarang dijalankan setiap hari pukul 00:05.

Jenis node

Semua orkestrasi di DataWorks dibangun dari node yang dihubungkan pada kanvas DAG. Tabel berikut merangkum semua jenis node yang tersedia dan kapan masing-masing digunakan.

NodeEdisi yang dibutuhkanFungsinyaKapan menggunakannya
Virtual nodeSemua edisiPlaceholder tanpa operasi yang berfungsi sebagai awal alur kerjaSetiap alur kerja membutuhkannya sebagai node akar
Branch nodeStandard dan seterusnyaMengarahkan eksekusi ke jalur hilir berbeda berdasarkan hasil huluKetika hasil berbeda (misalnya, "data ada" vs. "tidak ada data") memerlukan pemrosesan berbeda
Merge nodeStandard dan seterusnyaMenunggu salah satu dari beberapa cabang hulu selesai, lalu melanjutkan ke hilirKetika beberapa cabang menyatu dan Anda hanya memerlukan satu yang berhasil sebelum melanjutkan
For-each nodeStandard dan seterusnyaMelakukan iterasi atas set hasil dari node assignment dan menjalankan tugas hilir sekali per elemenKetika memproses daftar dinamis (misalnya, 31 provinsi, beberapa tabel)
Do-while nodeStandard dan seterusnyaMelakukan loop hingga suatu kondisi terpenuhi, lalu keluarKetika memeriksa status eksternal secara berkala (misalnya, periksa setiap 10 menit hingga sinkronisasi selesai)
HTTP triggerEnterprise EditionMenerima permintaan HTTP dari sistem eksternal untuk memicu tugas DataWorksKetika sistem bisnis hulu perlu memicu pipa DataWorks
Check nodeProfessional dan seterusnyaMemantau resource eksternal (file OSS, partisi MaxCompute) dan memicu tugas hilir begitu resource siapKetika tugas hilir bergantung pada file atau partisi yang dihasilkan oleh proses eksternal
Dependency check nodeEnterprise EditionMemeriksa dependensi lintas-siklus atau lintas-ruang kerja dan memicu tugas hilir begitu dependensi terpenuhiKetika tugas harian harus menunggu keberhasilan semua 24 tugas per jam sebelumnya
SUB_PROCESS nodeSemua edisiMerujuk sub-alur kerja yang dapat digunakan kembaliKetika beberapa alur kerja berbagi logika pemrosesan yang sama (misalnya, pembersihan, pemformatan)

Untuk referensi lengkap tentang node, lihat Node umum di Data Studio versi baru.

Desain dan konfigurasi

Orkestrasi alur kerja

Orkestrasi sederhana

DataWorks memungkinkan Anda memecah pipa data kompleks—mulai dari ingest multi-sumber hingga pemodelan berlapis—menjadi node-node terpisah yang dihubungkan pada kanvas DAG visual. Ketika node hulu berhasil, ia langsung memicu tugas hilirnya, menjaga seluruh pipa tetap stabil dan teratur. Alurnya statis, linier, dan unidireksional.

Sub-alur kerja untuk penggunaan ulang logika

Ketika beberapa alur kerja berbagi langkah pemrosesan yang sama—seperti pembersihan data, statistik ringkasan, dan pemeriksaan kualitas—bungkus langkah-langkah tersebut sebagai sub-alur kerja yang dapat digunakan kembali menggunakan node SUB_PROCESS. Ini menghindari duplikasi logika di berbagai alur kerja: ketika langkah bersama berubah, Anda hanya perlu memperbarui sub-alur kerja tersebut.

Untuk membuat dan menggunakan sub-alur kerja:

  1. Di alur kerja child_workflow, atur Properties menjadi Referable. Alur kerja tersebut menjadi sub-alur kerja.

  2. Di alur kerja utama, seret node SUB_PROCESS dan pilih child_workflow sebagai alur kerja yang dirujuk.

Sub-alur kerja memiliki batasan berikut:

  • Dependensi internal saja: Sub-alur kerja dan node internalnya tidak boleh bergantung pada tugas eksternal apa pun.

  • Isolasi: Sub-alur kerja tidak boleh menjadi dependensi langsung untuk tugas eksternal apa pun.

  • Passive trigger: Setelah dipublikasikan, tidak ada instans penjadwalan yang dihasilkan secara otomatis. Sub-alur kerja hanya dieksekusi ketika dipanggil oleh node SUB_PROCESS. > Untuk detailnya, lihat Node SUB_PROCESS.

image

Pemisahan alur kerja besar

Pisahkan alur kerja yang berisi lebih dari 100 node untuk menjaga kinerja dan keterbacaan:

  • Pisahkan berdasarkan domain bisnis: Pisahkan pipa pemrosesan untuk transaksi, pengguna, produk, dan subjek bisnis lainnya ke dalam alur kerja independen.

  • Bungkus logika umum dengan node SUB_PROCESS: Bungkus langkah-langkah yang dapat digunakan kembali (pembersihan data, pemformatan) ke dalam alur kerja yang dapat dirujuk.

Dependensi penjadwalan

Dependensi penjadwalan menghubungkan node yang terisolasi menjadi pipa data terurut. Sebuah node hanya dijalankan ketika waktu terjadwalnya tiba dan semua tugas hulu berhasil diselesaikan.

Untuk referensi lengkap, lihat Dependensi penjadwalan.

Ketika Anda menghubungkan node di kanvas, DataWorks secara otomatis membuat dependensi penjadwalan di antara mereka. Untuk dependensi lintas-alur kerja atau lintas-siklus yang lebih kompleks, konfigurasikan jenis dependensi berikut:

Jenis dependensiKapan menggunakannyaContoh
Dependensi tingkat alur kerjaSeluruh alur kerja harus menunggu tugas lain (alur kerja atau node mandiri) selesai sebelum dimulaiAlur kerja penjualan menunggu alur kerja data dasar selesai
Dependensi tingkat nodeNode tertentu dalam alur kerja harus menunggu tugas eksternal yang tidak berada dalam alur kerja yang samaNode ringkasan dalam alur kerja pelaporan menunggu node tertentu dalam sistem keuangan
Dependensi lintas-siklusInstans siklus saat ini dari tugas bergantung pada instansnya dari siklus berbeda (node yang sama atau berbeda)Instans hari ini menunggu instans kemarin berhasil—berguna untuk INSERT OVERWRITE pada tabel partisi atau perhitungan kumulatif
Dependensi lintas-ruang kerjaTugas bergantung pada tugas di ruang kerja DataWorks lain, yang dihubungkan melalui nama ruang kerja dan nama output node, nama, atau IDTugas di ruang kerja pemasaran merujuk data kunci dari ruang kerja akuntansi
image

Desain parameter

Parameter ruang kerja hanya tersedia di DataWorks Professional Edition dan seterusnya.

DataWorks mendukung sistem parameter empat tingkat, diurutkan dari cakupan tersempit hingga terluas. Gunakan tingkat yang sesuai untuk menghindari duplikasi konfigurasi di berbagai node.

TingkatJenisCakupanGunakan ketika
1 (tersempit)Parameter NodeSatu nodeMenyuntikkan tanggal dinamis ke kode SQL saat runtime; mendukung konstanta, variabel bawaan, dan ekspresi waktu kustom. Lihat Sumber dan ekspresi untuk parameter penjadwalan.
2Parameter konteksAntar-nodeMeneruskan nilai dari output node hulu ke node hilir; mendukung konstanta, variabel, dan hasil eksekusi. Lihat Konfigurasi dan penggunaan parameter konteks node.
3Parameter alur kerjaSemua node dalam alur kerjaMengelola pengenal bisnis bersama (misalnya, kode wilayah, awalan tabel) di puluhan node; sub-alur kerja dapat merujuk parameter alur kerja induknya. Lihat Parameter alur kerja.
4 (terluas)Parameter ruang kerjaSemua node dalam ruang kerjaMendefinisikan nilai spesifik lingkungan (misalnya, nama database, jalur resource) yang berbeda antara pengembangan dan produksi. Lihat Gunakan parameter ruang kerja.
image

Siklus penjadwalan

Penting

Perbedaan utama antara alur kerja periodik dan proses bisnis lama adalah bahwa siklus penjadwalan alur kerja dikonfigurasi sebagai satu kesatuan. Proses bisnis hanyalah folder untuk mengorganisasi tugas dan tidak dapat dijadwalkan secara keseluruhan.

Siklus penjadwalan diatur di tingkat alur kerja. Node di dalam alur kerja tidak dapat memiliki siklus independen sendiri—mereka mewarisi siklus alur kerja dan hanya dapat menentukan Delayed Execution Time sebagai offset dari waktu terjadwal alur kerja.

DimensiKonfigurasi tingkat alur kerjaPerilaku node internal
Properti waktuWaktu absolut (misalnya, 02:00)Waktu relatif (penundaan dari waktu terjadwal alur kerja)
Properti siklusHarian, per jam, per menit, mingguan, bulanan, atau tahunanMewarisi siklus alur kerja; tidak dapat diubah
Logika pemicuWaktu fisik tercapai + tugas hulu berhasilWaktu fisik + waktu penundaan + tugas hulu berhasil

Debug dan jalankan

Debugging node tunggal

Debugging node tunggal memvalidasi logika internal satu node—seperti pernyataan SQL, skrip Python, atau tugas integrasi data—tanpa memicu dependensi hulu atau hilir apa pun.

  1. Di panel kanan node, konfigurasikan Debugging Configurations:

    ParameterDeskripsi
    Compute enginePilih mesin komputasi yang telah di-bind. Jika tidak tersedia, pilih Create Compute Engine dari daftar drop-down. Pastikan mesin komputasi dan Resource Group terhubung. Lihat Solusi konektivitas jaringan.
    Resource GroupPilih Resource Group yang lulus uji konektivitas saat mesin komputasi di-bind. Beberapa node mendukung custom image pada Resource Group untuk memperluas lingkungan runtime.
    Dataset (opsional)Node Shell dan Python mendukung penggunaan dataset untuk mengakses data tidak terstruktur di OSS.
    Script parameters (opsional)Definisikan variabel dalam kode node menggunakan ${parameter_name}. Atur Parameter Name dan Parameter Value di sini. Untuk detailnya, lihat Sumber parameter penjadwalan dan ekspresinya.
    Associated role (opsional)Node Shell dan Python mendukung konfigurasi associated role untuk mengakses resource dari produk cloud lainnya.
  2. Klik Save, lalu klik Run.

  3. Lihat log dan hasil eksekusi di bagian bawah editor node.

Debugging alur kerja

Debugging alur kerja memvalidasi dependensi data, penerusan parameter, dan urutan eksekusi di seluruh pipa. Setelah debugging node individual, debug alur kerja lengkap—atau sebagian pipa.

  1. Di kanvas DAG alur kerja, klik Run di bilah alat atas. Untuk memvalidasi subset, klik kanan node dan pilih Run to This Node atau Run from This Node.

  2. Di kotak dialog, tetapkan nilai sementara untuk semua variabel node (seperti ${bizdate}) untuk sesi debugging ini.

  3. Sistem mengeksekusi node secara berurutan dari atas ke bawah, mengikuti dependensi yang ditentukan di DAG. Pantau status node di kanvas secara real time dan klik node apa pun untuk melihat log eksekusinya.

  4. Klik Back di sisi kiri kanvas untuk kembali ke keadaan pengembangan. Riwayat eksekusi di sebelah kanan menunjukkan semua catatan debugging.

Penting

Node alur kendali (loop, cabang, penggabungan) harus ditempatkan dalam alur kerja dan di-debug bersama node hulu dan hilir agar berfungsi dengan benar.

Manajemen dan operasi

Manajemen node alur kerja

DataWorks memungkinkan Anda mengimpor node mandiri ke dalam alur kerja, memindahkan node keluar dari alur kerja, atau mentransfer node antar alur kerja—tanpa harus membuat ulang dari awal.

Impor node yang sudah ada ke dalam alur kerja

  1. Klik dua kali alur kerja target untuk membuka editor kanvasnya.

  2. Di panel komponen kiri, beralih ke tab Import Node.

  3. Filter berdasarkan Node Type, Path, atau Node Name untuk menemukan node target.

  4. Seret node ke kanvas.

Move a node out of a workflow

  • Konversi menjadi node mandiri: Klik kanan node di pohon direktori atau kanvas, pilih Move out of Workflow, pilih jalur target, lalu konfirmasi.

  • Move to another workflow: Klik kanan node, pilih Move to another workflow, pilih alur kerja target, lalu konfirmasi. Anda juga dapat menyeret node langsung ke alur kerja target.

Penting

Sebelum memindahkan node, evaluasi dampaknya terhadap pipa yang ada dan konfigurasi ulang dependensinya di lokasi baru. Memindahkan node akan memutus dependensi hulu dan hilirnya di alur kerja asli, dan parameter alur kerja yang dikonfigurasi pada node tersebut menjadi tidak valid.

Klon alur kerja

Kloning alur kerja membuat salinan lengkap dan independen termasuk semua node internal, kode, dan dependensinya. Di Workspace Directories, klik kanan alur kerja target dan pilih Clone.

Sebelum melakukan commit dan publikasi alur kerja yang dikloning, tinjau hal-hal berikut untuk mencegah konflik data dan masalah pipa:

  1. Tabel output dan sumber data target: Alur kerja yang dikloning menulis ke tabel target yang sama dengan aslinya. Perbarui nama tabel di kode (misalnya, dari ods_user_table menjadi dev_ods_user_table) untuk mencegah beberapa tugas menulis ke tabel yang sama.

  2. Dependensi hulu: Alur kerja yang dikloning masih bergantung pada tugas hulu asli secara default. Pastikan apakah ini merupakan perilaku yang diinginkan.

  3. Konfigurasi parameter: Periksa parameter kustom—terutama yang melibatkan partisi tanggal (seperti ${bizdate}) dan jalur input/output—untuk memastikan nilainya benar di lingkungan baru.

Anda juga dapat mengkloning node individual dalam alur kerja, tetapi tidak dapat menyalin node antar alur kerja yang berbeda.

Manajemen versi

Penting

Menerbitkan node internal secara terpisah juga membuat versi baru dari alur kerja induknya.

Manajemen versi secara otomatis mencatat setiap perubahan pada alur kerja. Dari panel Versions di sisi kanan kanvas alur kerja, Anda dapat melihat, membandingkan, dan mengembalikan ke versi sebelumnya.

Panel Versi menampilkan dua jenis catatan:

  • Catatan Pengembangan: Dibuat setiap kali Anda mengklik Save. Ini adalah snapshot dalam proses dan tidak memengaruhi produksi.

  • Catatan Penerbitan: Dibuat ketika alur kerja berhasil diterbitkan ke produksi. Inilah yang dieksekusi oleh sistem penjadwalan produksi.

Kasus penggunaan khas

SkenarioTindakan
Tugas produksi gagal setelah perubahan kodeGunakan Revert untuk mengembalikan alur kerja ke Catatan Penerbitan stabil terakhir, lalu terbitkan ulang
Anda perlu melacak kapan dan oleh siapa logika diubahGunakan daftar versi dan fitur compare untuk melihat setiap perubahan kode
Anda secara tidak sengaja menghapus kode yang belum disimpanKembalikan dari Catatan Pengembangan

Sebelum mengembalikan:

  • Mengembalikan akan menimpa area pengembangan saat ini: Semua kode dan konfigurasi di kanvas diganti dengan versi historis. Jika Anda memiliki perubahan yang belum disimpan, cadangkan secara lokal sebelum mengembalikan.

  • Terbitkan ulang setelah mengembalikan: Mengembalikan hanya memulihkan keadaan pengembangan. Terbitkan manual alur kerja agar rollback berlaku di produksi.

Penerbitan dan operasi

Status instans alur kerja

Status keseluruhan alur kerja mencerminkan keadaan akhir node internalnya. Memahami bagaimana sistem menentukan status alur kerja membantu Anda mendiagnosis masalah lebih cepat.

StatusKondisi pemicuYang perlu diperiksa
RunningWaktu terjadwal tercapai + tugas hulu berhasil
SucceededSemua node kritis berhasil diselesaikan
FailedSatu node kritis gagalPeriksa log eksekusi node yang gagal di Operation Center
Failed (node dibekukan)Node internal dibekukan atau ditangguhkan dan merupakan dependensi huluBatalkan pembekuan node atau konfigurasi ulang dependensinya
Succeeded (pengecualian merge node)Merge node dievaluasi sebagai sukses meskipun beberapa cabang hulu gagalTinjau pemeriksaan hulu merge node untuk mencegah kegagalan diam

Skenario khusus:

  • Membekukan instans Data Backfill dari tugas alur kerja mengatur instans alur kerja menjadi Succeeded.

  • Dalam skenario Data Backfill, jika sistem menentukan tugas tidak dapat dieksekusi, alur kerja diatur menjadi Failed.

Penting

Ada penundaan antara saat kejadian kegagalan aktual terjadi dan saat status instans diperbarui.

image

Batasan

ItemBatas
Max nodes per workflow400 node (pertahankan di bawah 100 untuk kinerja kanvas optimal dan kemudahan pemeliharaan; pisahkan alur kerja besar menjadi yang lebih kecil)
Parallel instancesAlur kerja periodik tidak mendukung batas instans paralel maksimum di tingkat alur kerja. Atur batas ini di tingkat node individual melalui Scheduling Configuration. Lihat Konfigurasi penjadwalan node.
Sub-workflow dependenciesSub-alur kerja (dengan "Can Be Referenced" diaktifkan) dan node internalnya tidak boleh bergantung pada tugas eksternal apa pun, dan tidak ada tugas eksternal yang boleh bergantung langsung padanya. Melanggar batasan ini menyebabkan error penerbitan.
Sub-workflow schedulingSetelah diterbitkan, sub-alur kerja tidak menghasilkan instans penjadwalan secara otomatis. Ia hanya dijalankan ketika dipanggil oleh node SUB_PROCESS.

Pertanyaan yang sering diajukan

Apa perbedaan antara alur kerja dan proses bisnis?

Alur kerja adalah unit yang dapat dijadwalkan—ia memiliki siklus penjadwalan sendiri dan menghasilkan instans tugas periodik. Proses bisnis hanyalah folder untuk mengorganisasi node; tidak dapat dijadwalkan secara keseluruhan.

Tugas saya berhasil dijalankan dalam mode debug tetapi gagal dalam eksekusi terjadwal. Apa penyebabnya?

Hampir selalu karena ketidaksesuaian lingkungan. Periksa:

  • Resource Group: Eksekusi debug sering menggunakan Resource Group pribadi, sedangkan eksekusi terjadwal menggunakan Resource Group produksi. Pastikan Resource Group produksi aktif, memiliki kapasitas, dan memiliki izin yang benar.

  • Izin: Akun yang digunakan untuk eksekusi terjadwal produksi mungkin tidak memiliki akses ke tabel, fungsi, atau resource tertentu.

  • Dependensi: Lingkungan produksi mungkin memiliki dependensi hulu yang berbeda dari lingkungan pengembangan, atau output hulu mungkin tidak ada di produksi.

Instans saya terjebak dalam status "waiting". Apa yang harus saya periksa?

Instans hanya dijalankan ketika waktu terjadwalnya tiba, resource tersedia, dan semua dependensi hulu berhasil. Periksa dalam urutan berikut:

  1. Dependensi hulu belum selesai: Di Operation Center, buka tampilan Dependency instans untuk melihat tugas hulu mana yang belum berhasil.

  2. Antrian resource penuh: Antrian Resource Group mesin komputasi mencapai kapasitas. Tugas sedang menunggu resource.

  3. Alur kerja atau node dibekukan: Periksa apakah alur kerja atau node hulu mana pun dibekukan atau ditangguhkan secara manual.

  4. Instans belum dihasilkan: Pastikan waktu terjadwal alur kerja telah lewat. Alur kerja yang baru diterbitkan menghasilkan instans pertamanya pada siklus penjadwalan berikutnya. Lihat Metode pembuatan instans: Pembuatan instan setelah penerbitan.

Seluruh alur kerja ditampilkan sebagai "failed" meskipun beberapa node berhasil. Mengapa?

  • Kegagalan jalur kritis: Jika node apa pun dengan dependensi hilir gagal, seluruh alur kerja ditandai Failed—meskipun cabang paralel lain berhasil.

  • Node dibekukan: Node internal yang dibekukan menyebabkan seluruh alur kerja gagal.