Orkestrasi task Data Management (DMS) memungkinkan Anda membangun alur kerja otomatis dengan menghubungkan node task menjadi alur task terarah dan menjadwalkannya untuk berjalan secara berkala. Tutorial ini menjelaskan skenario e-commerce konkret: secara otomatis menerbitkan kupon kepada pengguna yang jumlah pembelian kumulatifnya melebihi ambang batas tertentu.
Alur task ini menggunakan tiga jenis node:
SQL Assignment for Single Instance — melakukan kueri terhadap konfigurasi promosi dan mengekspos hasilnya sebagai variabel output
Conditional Branch — mengevaluasi apakah promosi sedang aktif
Single Instance SQL — memasukkan pengguna yang memenuhi syarat ke dalam tabel penerbitan kupon
Pada akhirnya, Anda akan memiliki alur task yang menjalankan logika ini sesuai jadwal dan menulis hasilnya ke database secara otomatis.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Instansiasi basis data yang dibuat di DMS
Memiliki izin ubah pada database target (lihat Ikhtisar untuk cara meminta izin)
Langkah 1: Siapkan tabel database
Alur task ini membaca dari dua tabel sumber dan menulis hasil ke satu tabel output:
activity_setting — menyimpan konfigurasi promosi (apakah promosi aktif, ambang batas pembelian, dan nilai diskon kupon)
consumption_records — mencatat transaksi pembelian setiap pengguna
voucher_send_list — menyimpan hasil penerbitan kupon yang dihasilkan oleh alur task
Ikuti langkah-langkah berikut untuk membuat tabel dan memuat data uji.
Buka Konsol SQL
Login ke Konsol DMS V5.0.
Arahkan penunjuk ke ikon
di pojok kiri atas dan pilih All functions > SQL Console > SQL Console.Dalam mode normal, pilih SQL Console > SQL Console dari bilah navigasi atas.
Pada kotak dialog Please select the database first, cari database Anda, pilih dari hasil pencarian, lalu klik Confirm.
Buat tabel
Jalankan masing-masing pernyataan SQL berikut di editor SQL. Salin dan tempel setiap pernyataan, lalu klik Execute.
activity_setting (tabel konfigurasi promosi):
CREATE TABLE `activity_setting` (
`has_promotion` tinyint(1) NOT NULL COMMENT 'Apakah diskon diberikan',
`consumption_limit` int(11) NOT NULL COMMENT 'Batas jumlah pembelian',
`quota` int(11) NOT NULL COMMENT 'Diskon kupon',
PRIMARY KEY (`has_promotion`)
) ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
ROW_FORMAT=COMPACT
AVG_ROW_LENGTH=16384;consumption_records (tabel transaksi pembelian):
CREATE TABLE `consumption_records` (
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID catatan',
`time` datetime NOT NULL COMMENT 'Waktu pembelian',
`count` int(11) NOT NULL COMMENT 'Jumlah pembelian',
`user_id` bigint(20) NOT NULL COMMENT 'ID pengguna',
PRIMARY KEY (`id`)
) ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_general_ci
COMMENT='Tabel catatan pembelian'
AUTO_INCREMENT=8001
ROW_FORMAT=COMPACT
AVG_ROW_LENGTH=54;voucher_send_list (tabel penerbitan kupon):
CREATE TABLE `voucher_send_list` (
`Id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID catatan',
`user_id` int(11) NULL COMMENT 'ID pengguna',
`consumption_sum` int(11) NULL COMMENT 'Jumlah pembelian',
`quota` int(11) NULL COMMENT 'Diskon kupon',
PRIMARY KEY (`Id`)
) ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=1
ROW_FORMAT=COMPACT
AVG_ROW_LENGTH=0;Muat data
Masukkan konfigurasi promosi. Contoh ini mengatur has_promotion = 1 (aktif), ambang batas pembelian sebesar 100, dan diskon kupon sebesar 30:
INSERT INTO activity_setting(has_promotion, consumption_limit, quota)
VALUES('1','100','30');Hasilkan catatan pembelian uji untuk consumption_records menggunakan fitur pembuatan data uji DMS. Untuk detailnya, lihat Generate test data.
Gambar berikut menunjukkan contoh konfigurasi untuk menghasilkan data di tabel consumption_records.

Langkah 2: Buat alur task
Login ke Konsol DMS V5.0.
Arahkan penunjuk ke ikon
di pojok kiri atas dan pilih All Features > Data+AI > Data Development > Task Orchestration.Dalam mode normal, pilih Data+AI > Data Development > Task Orchestration dari bilah navigasi atas.
Pada halaman Task orchestration, klik Create Task Flow.
Pada kotak dialog New Task Flow, atur Task Flow Name dan Description, lalu klik OK.
Langkah 3: Tambahkan dan hubungkan node
Dari daftar Task Type di sisi kiri kanvas, seret node berikut ke kanvas: SQL Assignment for Single Instance, Conditional Branch, dan Single Instance SQL.
Hubungkan node secara berurutan:
Arahkan penunjuk ke SQL Assignment for Single Instance, klik lingkaran kosong di sisi kanannya, lalu tarik garis ke Conditional Branch.
Arahkan penunjuk ke Conditional Branch, klik lingkaran kosong di sisi kanannya, lalu tarik garis ke Single Instance SQL.
Langkah 4: Konfigurasi node
Node SQL Assignment for Single Instance
Node ini membaca pengaturan promosi dari activity_setting dan menyimpan nilai setiap kolom ke dalam variabel output. Node downstream mereferensikan variabel ini menggunakan sintaks ${variable_name}.
Klik ganda node SQL Assignment for Single Instance.
Cari dan pilih database Anda dari daftar drop-down.
Di editor SQL, masukkan:
select * from activity_setting limit 1Di panel navigasi sisi kanan, klik tab Variable Setting, lalu pilih tab Output Variables.
Klik Increase Variable dan tambahkan variabel output berikut:
Quota,HasPromotion, danConsumptionLimit.
Setelah node dijalankan, hasil kueri dipetakan ke ketiga variabel tersebut. Node Conditional Branch dan Single Instance SQL mereferensikannya sebagai ${HasPromotion}, ${Quota}, dan ${ConsumptionLimit}.
Untuk detail konfigurasi, lihat Configure an SQL assignment node.
Node Conditional Branch
Klik ganda node Conditional Branch.
Konfigurasikan ekspresi kondisional untuk mengevaluasi apakah
HasPromotionaktif.
Gambar berikut menunjukkan ekspresi kondisional yang telah dikonfigurasi.

Untuk detail konfigurasi, lihat Configure a conditional branch node.
Node Single Instance SQL
Klik ganda node Single Instance SQL.
Di editor SQL, masukkan pernyataan berikut. Pernyataan ini menggunakan variabel
${Quota},${ConsumptionLimit}, dan${bizdate}untuk memasukkan pengguna yang memenuhi syarat ke dalamvoucher_send_list:INSERT INTO `voucher_send_list`(`user_id`,`consumption_sum`,`quota`) SELECT * FROM (SELECT `user_id`, sum(count) AS consumption_sum,${Quota} FROM `consumption_records` WHERE `time` > '${bizdate}' GROUP BY `user_id`) `consumption_records` where `consumption_sum`>${ConsumptionLimit}
Langkah 5: Uji alur task
Di pojok kiri atas kanvas, klik Try Run.
Setelah proses selesai, verifikasi hasilnya di tab SQL Console dengan menjalankan:
SELECT * FROM voucher_send_list;Tabel tersebut harus berisi baris untuk setiap pengguna yang jumlah total pembeliannya melebihi ambang batas yang dikonfigurasi (
consumption_limit = 100). Setiap baris mencakup ID pengguna, jumlah total pembelian, dan nilai diskon kupon (quota = 30).
Langkah 6: Konfigurasi penjadwalan (opsional)
Untuk menjalankan alur task secara berkala:
Klik ikon Hide/Show di bagian bawah kanvas.
Klik tab Task Flow Information.
Pada bagian Scheduling Settings, aktifkan Enable Scheduling dan konfigurasikan siklus penjadwalan. Untuk detailnya, lihat Configure a task flow.
Langkah 7: Publikasikan alur task
Setelah dipublikasikan, alur task akan berjalan secara otomatis sesuai siklus penjadwalan yang dikonfigurasi.
Di pojok kiri atas kanvas, klik Publish.
Pada kotak dialog Publish, atur Remarks lalu klik Publish.
Langkah selanjutnya
Configure an SQL assignment node — referensi lengkap parameter untuk node SQL Assignment
Configure a conditional branch node — referensi lengkap parameter untuk node Conditional Branch
Configure a task flow — semua opsi konfigurasi penjadwalan dan alur task