All Products
Search
Document Center

DataWorks:Konfigurasikan pembuatan instans segera

Last Updated:Mar 04, 2026

Secara default, perubahan konfigurasi untuk Task DataWorks yang dijadwalkan berlaku dalam mode Next Day. Artinya, instans yang dihasilkan pada hari setelah penerapan menggunakan konfigurasi baru. Jika Anda memerlukan agar perubahan pada task baru atau yang dimodifikasi berlaku pada hari yang sama, Anda dapat menggunakan mode Immediately After Deployment.

Cara kerja

Di DataWorks, setelah Anda memodifikasi sebuah task dan menekan Submit, konfigurasi baru tersebut memengaruhi pembuatan instans dengan salah satu dari dua cara berikut. Mode-mode ini menentukan apakah perubahan berlaku pada hari yang sama atau pada siklus penjadwalan berikutnya (hari berikutnya).

Mode A: Next Day (Default Sistem)

Ini adalah opsi default sistem dan direkomendasikan. Mode ini mengisolasi perubahan dari instans yang sedang berjalan pada hari ini untuk memastikan stabilitas produksi.

  • Cara kerja:
    Penerapan pada hari saat ini (Hari T) hanya memperbarui definisi task dan tidak memengaruhi eksekusi instans pada hari tersebut.

  • Dampak pada hari saat ini (Hari T):

    • Perilaku: Hanya kode dan properti task yang diperbarui. Hal ini tidak memengaruhi instans yang telah dihasilkan atau dijadwalkan untuk hari ini. Semua instans pada Hari T tetap berjalan berdasarkan konfigurasi sebelum penerapan.

    • Rekomendasi: Jika Anda ingin logika baru berlaku pada Hari T, kami merekomendasikan melakukan operasi Backfill Data untuk instans Hari T setelah penerapan.

  • Dampak pada hari berikutnya (Hari T+1):
    Semua perubahan mulai berlaku sejak instans terjadwal pertama pada Hari T+1. Semua instans dihasilkan dan dijalankan menggunakan konfigurasi baru.

Mode B: Immediately After Deployment

Mode ini menerapkan perubahan task sesegera mungkin pada hari penerapan. Logika utamanya adalah menentukan cara menangani instans terjadwal untuk hari saat ini (Hari T) dengan menggunakan waktu penerapan sebagai garis dasar.

  • Cara kerja:
    Sistem membandingkan waktu penjadwalan setiap instans terjadwal pada Hari T dengan "waktu penerapan + buffer sistem 10 menit".

  • Waktu penjadwalan < Waktu penerapan + 10 menit

    • Hasil: Task baru melakukan Dry Run. Untuk task yang dimodifikasi, tidak ada instans baru yang dihasilkan.

    • Perilaku: Untuk task yang baru diterapkan, instans tersebut dianggap "kedaluwarsa" dan masuk ke status Dry Run, sehingga logika bisnisnya tidak dieksekusi. Hal ini mencegah kode baru dijalankan pada instans yang termasuk dalam konfigurasi sebelum penerapan. Untuk task yang dimodifikasi dan diterapkan ulang, instans kedaluwarsa tidak dihasilkan.

  • Waktu penjadwalan > Waktu penerapan + 10 menit

    • Hasil: Eksekusi normal.

    • Perilaku: Sistem segera menghasilkan dan menjalankan instans berdasarkan konfigurasi baru.

  • Dampak pada hari berikutnya (Hari T+1):
    Semua instans terjadwal pada Hari T+1 akan dihasilkan berdasarkan konfigurasi baru.

Penting

Untuk memastikan penjadwalan lintas hari yang deterministik, sistem memiliki "jendela cutoff harian" khusus (misalnya, pukul 23.30 hingga 24.00). Untuk penerapan yang diajukan selama jendela ini, perubahan akan berlaku pada Hari T+2, terlepas dari mode yang dipilih.

image

Batasan

  • Waktu efektif perubahan: Periode dari 23:30 hingga 24:00 setiap hari merupakan jendela pembuatan instans batch sistem. Untuk operasi penerapan yang diajukan selama periode ini, perubahan akan berlaku pada instans terjadwal yang dihasilkan pada Hari T+2.

  • Batasan perubahan Data Source: Jika Anda hanya memodifikasi Data Source yang terkait dengan sebuah task, bahkan jika Anda memilih Immediately After Deployment, instans terjadwal yang telah dihasilkan untuk hari ini tidak akan diperbarui. Instans tersebut tetap berjalan menggunakan Data Source sebelumnya. Untuk menerapkan perubahan segera, Anda harus menggunakan fungsi Backfill Data.

Skenario untuk Segera Setelah Penyebaran

Mode Immediately After Deployment membawa risiko yang lebih tinggi. Jika digunakan secara tidak tepat, mode ini dapat menyebabkan ketergantungan (Dependencies) menjadi rumit, penghapusan atau penggantian instans secara tidak sengaja, serta mengganggu stabilitas task hari ini.

Kasus penggunaan yang direkomendasikan

Gunakan mode ini dengan hati-hati dan hanya dalam skenario berikut:

  • Task baru yang harus berjalan pada hari yang sama: Untuk task baru tanpa ketergantungan Upstream atau Downstream yang kompleks dan perlu segera berjalan setelah penerapan.

  • Mengganti instans yang sudah ada: Untuk mengganti instans terjadwal yang telah dihasilkan untuk hari ini namun belum dijalankan dengan konfigurasi baru.

Skenario berisiko tinggi (tidak direkomendasikan)

Jangan gunakan mode ini dalam skenario berikut karena dapat memperumit ketergantungan harian dan menyebabkan anomali penjadwalan:

  • Memodifikasi Konfigurasi Penjadwalan Task yang telah diterapkan: Ini terutama berisiko untuk task dengan ketergantungan Upstream dan Downstream yang kompleks. Mengubah Pengulangan Penjadwalan (misalnya, dari harian menjadi per jam) dan menerapkannya segera dapat menyebabkan beberapa instans lama tetap ada sementara instans baru dibuat, sehingga menimbulkan konflik ketergantungan.

  • Mode pembuatan yang tidak konsisten antara task upstream dan downstream: Misalnya, jika task upstream menggunakan mode Next Day sedangkan task downstream menggunakan Immediately After Deployment. Hal ini menyebabkan instans task downstream untuk hari ini tidak dapat menemukan ketergantungannya pada upstream, sehingga menjadi Isolated Task yang tidak dapat dijalankan secara otomatis.

Solusi alternatif

Untuk task yang telah diterapkan dan perlu dimodifikasi, pendekatan yang lebih aman adalah:

  1. Terapkan task menggunakan mode default Next Day.

  2. Setelah penerapan berhasil, lakukan operasi Backfill Data untuk task tersebut guna memicu secara manual instans yang perlu dijalankan pada hari ini.

Skenario praktis

Skenario 1: Menerapkan task baru

Setelah task baru diterapkan, eksekusi instans-nya bergantung pada hubungan antara waktu penjadwalannya dan waktu penerapan (dengan mempertimbangkan penundaan 10 menit).

Waktu penjadwalan

Status dan perilaku

Lebih lambat dari (Waktu penerapan + 10 menit)

Sistem menghasilkan Scheduled Instance normal, yang dijalankan pada waktu terjadwalnya.

Lebih awal dari atau sama dengan (Waktu penerapan + 10 menit)

Sistem menghasilkan instans kedaluwarsa yang dihasilkan secara real time. Instans ini melakukan Dry Run dan tidak dieksekusi.

Untuk memproses data hari ini, lakukan operasi Backfill Data untuk hari kerja sebelumnya. Operasi ini juga memiliki selisih waktu 10 menit saat menghasilkan instans. Untuk informasi lebih lanjut, lihat Cara kerja.

image

Contoh: Asumsikan sebuah task diterapkan ke Production Environment pada pukul 12:00. Waktu efektif untuk pembuatan instans secara real time adalah pukul 12:10.

  • Jika waktu penjadwalan task tersebut setelah pukul 12:10, task tersebut akan dijadwalkan dan dijalankan.

  • Jika waktu penjadwalan task tersebut sebelum pukul 12:10, task tersebut akan melakukan Dry Run, dan status instans-nya menjadi instans kedaluwarsa yang dihasilkan secara real time.

Skenario 2: Memperbarui pengulangan penjadwalan

Jika Anda memperbarui waktu penjadwalan (yaitu, Pengulangan Penjadwalan dan waktunya) sebuah task Produksi dan menerapkan perubahan tersebut ke Production Environment, instans sebelum dan sesudah perubahan dapat eksis bersamaan pada hari yang sama. Hal ini dapat memperumit ketergantungan hari tersebut.

Catatan

Skenario ini hanya terjadi pada hari penerapan. Pada hari berikutnya, sistem menghasilkan Scheduled Instance secara normal berdasarkan konfigurasi baru.

已发布的任务更新调度频率Perilakunya sebagai berikut:

  • Jika waktu penjadwalan task berada di masa depan

    DataWorks akan mengganti instans mendatang yang telah dihasilkan dengan instans baru berdasarkan Konfigurasi Penjadwalan terbaru.

  • Jika waktu penjadwalan task berada di masa lalu

    DataWorks akan mempertahankan instans yang dijadwalkan sebelum waktu baru tersebut dan mengganti atau menghapus instans yang dijadwalkan setelahnya.

Skenario 3: Mode pembuatan tidak konsisten

Jika task Upstream dan Downstream keduanya baru dan mode pembuatannya tidak konsisten (misalnya, task Upstream menggunakan Next Day sedangkan task Downstream menggunakan Immediately After Deployment), hal ini akan menyebabkan skenario Isolated Task. Isolated Task tidak akan dijadwalkan untuk dijalankan secara otomatis. Jika Isolated Task ini memiliki banyak ketergantungan Downstream, hal ini dapat mencegah semua task berikutnya berjalan secara normal, sehingga berdampak serius pada bisnis downstream.实例生成方式不一致

Skenario 4: Mengubah waktu penjadwalan upstream

Saat Anda memodifikasi waktu penjadwalan task Upstream dan Downstream yang saling bergantung dan memiliki Pengulangan Penjadwalan berbeda, ketergantungan downstream diatur berdasarkan Konfigurasi Penjadwalan terbaru (ketergantungan harian, bulanan, atau per jam) dari task Upstream.

Catatan

Untuk task Produksi dengan waktu penjadwalan yang diubah, instans downstream-nya akan bergantung pada instans Upstream lama yang belum diganti dan instans Upstream baru sesuai Konfigurasi Penjadwalan terbaru. Untuk detail berbagai skenario ketergantungan per jam dan per menit, lihat Wajib baca: Prinsip dan contoh konfigurasi penjadwalan dalam skenario ketergantungan kompleks. Skenario ini hanya terjadi ketika versi task yang akan diterapkan diatur ke Immediately After Deployment dan waktu penjadwalannya telah diubah.

Contoh skenarionya sebagai berikut:

  • Skenario 1: Jadwal task Upstream diubah dari setiap 6 jam menjadi setiap 8 jam (00:00, 08:00, 16:00), dan mode Immediately After Deployment dipilih.场景一

  • Skenario 2: Jadwal task Upstream diubah dari setiap 6 jam menjadi sekali sehari pukul 16:00, dan mode Immediately After Deployment dipilih.场景二