All Products
Search
Document Center

DataWorks:Konfigurasi properti waktu

Last Updated:Aug 06, 2026

Properti waktu merupakan kondisi penjadwalan inti yang menentukan kapan dan bagaimana DataWorks memicu tugas terjadwal. Properti ini mencakup tidak hanya scheduled time untuk mengatur waktu eksekusi, tetapi juga serangkaian konfigurasi lanjutan seperti instance generation mode, scheduling calendar, rerun settings, dan timeout policies. Secara bersamaan, parameter-parameter ini membentuk rencana perilaku waktu suatu tugas, mengontrol aturan pemicunya, batasan eksekusi, serta pemulihan otomatis dari error. Panduan ini menjelaskan cara mengonfigurasi setiap properti waktu dan cara kerjanya, membantu Anda membangun alur kerja data otomatis yang stabil, andal, dan tidak memerlukan pengawasan.

Mulai cepat: Contoh konfigurasi

Skenario: Perusahaan e-commerce perlu menghitung total penjualan hari sebelumnya secara otomatis pada pukul 02:00 setiap hari. Jika tugas gagal karena faktor seperti fluktuasi jaringan, sistem harus secara otomatis mencoba ulang sebanyak 3 kali.

  • Langkah 1: Atur Waktu Terjadwal

    1. Atur Scheduling Cycle: Klik ganda nama tugas untuk membuka panel konfigurasi tugas. Klik Schedule Settings > Time Properties di sisi kanan. Atur Scheduling Cycle menjadi Day.

    2. Atur scheduled time: Tetapkan scheduled time ke 02:00.

  • Langkah 2: Atur kebijakan penjadwalan

    1. Atur properti rerun: Tetapkan properti rerun ke You can run again after successful or failed operation..

    2. Auto Rerun upon Failure: Pilih Auto Rerun upon Failure, atur jumlah percobaan ulang menjadi 3, dan atur interval menjadi 5 minutes.

    3. Pertahankan nilai default untuk properti lainnya.

  • Hasil:

    Setelah Anda menerapkan tugas tersebut, sistem akan secara otomatis memicunya setiap hari pukul 02:00, mulai dari hari berikutnya (T+1). Jika tugas gagal, sistem akan mencoba ulang setiap 5 menit. Tugas tersebut akan dijalankan maksimal 4 kali (1 eksekusi normal + 3 percobaan ulang).

Cara kerja

Konfigurasi properti waktu menentukan seluruh siklus hidup tugas terjadwal, mulai dari pembuatan instans hingga eksekusi. Konfigurasi ini mencakup dimensi inti berikut:

  • Scheduling time: Menentukan frekuensi dan waktu spesifik eksekusi tugas secara visual.

  • Manajemen siklus hidup instans: Menentukan kapan instans dibuat dan kapan masa berlakunya. Ini mencakup:

    • Instance generation mode: Mengontrol apakah instans dihasilkan pada hari penerapan atau hari berikutnya.

    • Effective period: Menetapkan rentang waktu valid keseluruhan untuk tugas tersebut.

    • Scheduling calendar: Digunakan untuk mengecualikan hari non-kerja (seperti hari libur).

  • Kebijakan eksekusi: Menentukan perilaku instans setelah waktu terjadwalnya tiba melalui tipe penjadwalan, menentukan apakah instans berjalan normal, melakukan dry run (skip), atau ditangguhkan.

  • Penanganan exception dan toleransi kesalahan: Menyediakan mekanisme penanganan otomatis untuk exception seperti kegagalan eksekusi tugas atau timeout melalui definisi timeout dan pengaturan rerun.

Scheduling time

Scheduling time mengontrol kapan tugas direncanakan untuk dijalankan (juga dikenal sebagai scheduled time), yang menentukan seberapa sering node tugas dipicu secara otomatis di lingkungan produksi. Berdasarkan siklus yang Anda konfigurasi, sistem menghasilkan jumlah instans periodik yang sesuai untuk tugas tersebut dan mendorong eksekusi otomatis seluruh alur kerja melalui scheduled time dan dependensi penjadwalan dari instans-instans tersebut.

Catatan

Scheduled time dan business date adalah dua konsep waktu garis dasar paling penting dalam DataWorks. Untuk informasi lebih lanjut, lihat Scheduled time dan business date.

Kemandirian dan dependensi siklus penjadwalan

  • Kemandirian frekuensi: Frekuensi penjadwalan tugas (seperti "per jam" atau "harian") ditentukan oleh konfigurasinya sendiri dan tidak bergantung pada frekuensi tugas hulu-nya. Misalnya, tugas laporan yang dijadwalkan harian dapat bergantung pada tugas persiapan data yang dijadwalkan per jam. Untuk informasi lebih lanjut tentang konfigurasi dependensi lintas frekuensi siklus, lihat Configure cross-cycle dependencies.

  • Dependensi instans: Dependensi antar-tugas dengan siklus penjadwalan berbeda (dependensi lintas siklus) pada dasarnya merupakan dependensi instans. Sistem secara otomatis menyelesaikan dependensi ini dan memastikan bahwa instans hilir hanya memenuhi kondisi dependensi setelah semua instans hulu yang sesuai dengan business date-nya telah berhasil diselesaikan.

  • Mekanisme dry run: Untuk mencegah blocking, tugas yang tidak dijadwalkan harian (seperti mingguan, bulanan, atau tahunan) menghasilkan instans dry run pada hari-hari non-eksekusi. Instans ini langsung ditandai sebagai berhasil tanpa menjalankan kode atau mengonsumsi sumber daya, memastikan bahwa tugas harian hilir dapat dipicu secara normal.

Scheduled time vs. actual run time

  • Scheduled time: Waktu yang Anda tetapkan dalam konfigurasi penjadwalan adalah waktu mulai yang diharapkan dari tugas, yaitu momen paling awal ketika tugas dapat mulai berjalan.

  • Actual run time: Waktu mulai aktual tugas bergantung pada dua kondisi berikut yang harus terpenuhi secara bersamaan:

    1. Semua instans hulu telah berhasil diselesaikan.

    2. Sumber daya komputasi saat ini tersedia.

Zona waktu penjadwalan

Scheduling time tugas menggunakan zona waktu yang sesuai dengan wilayah ruang kerjanya secara default. Untuk mengubah zona waktu, lihat Configure the scheduling time zone untuk skenario seperti transisi daylight saving time. Supported time zones

Berikut adalah contoh konfigurasi untuk setiap skenario:

Penjadwalan tingkat menit

Tetapkan waktu mulai, waktu selesai, dan interval eksekusi. Interval minimum adalah 1 menit. Dalam rentang waktu yang ditentukan, sistem menghasilkan beberapa instans pada interval tetap.

Contoh konfigurasi

Node target dijadwalkan setiap 30 menit dalam rentang waktu 00:00 hingga 23:59 setiap hari.

Detail instans

Gambar berikut menunjukkan scheduled time dan substitusi parameter penjadwalan untuk instans node yang dijadwalkan setiap 30 menit.

Penjadwalan tingkat jam

Berlaku untuk skenario sinkronisasi frekuensi tinggi atau komputasi near-real-time.

  • Logika pembuatan instans: Sistem menghitung instans periodik berdasarkan interval tertutup [waktu mulai, waktu selesai].

    • Contoh: Jika rentang waktu diatur ke [00:00,03:00] dan intervalnya 1 hour, sistem menghasilkan 4 instans dengan waktu eksekusi terjadwal pada pukul 00:00, 01:00, 02:00, dan 03:00.

  • Metode konfigurasi:

    • Pemicu berbasis interval: Berjalan secara siklik pada interval tetap (seperti setiap jam) dalam rentang waktu tertentu.

    • Pemicu titik waktu: Berjalan pada satu atau beberapa titik waktu diskret yang ditentukan.

Contoh konfigurasi

Tugas target dijadwalkan secara otomatis setiap 6 jam dalam rentang waktu 00:00 hingga 23:59 setiap hari.

Detail penjadwalan

Sistem penjadwalan menghasilkan 4 instans per hari dan menjalankannya pada scheduled time pukul 00:00, 06:00, 12:00, dan 18:00.

Penjadwalan tingkat hari

Penjadwalan tingkat hari adalah metode penjadwalan paling umum. Metode ini memungkinkan Anda menjalankan tugas sekali sehari pada waktu tertentu dalam rentang waktu yang valid. Secara default, tugas yang baru dibuat menggunakan penjadwalan tingkat hari, dan scheduled time-nya dihasilkan secara acak dalam rentang waktu 00:00 hingga 00:30. Anda dapat menentukan waktu eksekusi kustom sesuai kebutuhan. Misalnya, Anda dapat menentukan agar tugas berjalan sekali sehari pukul 13:00.

Contoh konfigurasi

Atur Scheduling Cycle menjadi Day dan atur Scheduled Time menjadi 13:00. Sistem secara otomatis menghasilkan ekspresi cron 00 00 13 * * ?.

Detail penjadwalan

Sistem penjadwalan secara otomatis menghasilkan dan menjalankan instans untuk tugas tersebut. Gambar berikut menunjukkan waktu pemrosesan data untuk setiap hari bisnis.

Penjadwalan tingkat minggu

Berlaku untuk agregasi bisnis mingguan atau maintenance data periodik yang dilakukan dengan frekuensi tetap setiap minggu.

Logika pembuatan instans: Sistem menghasilkan instans setiap hari dalam rentang waktu yang valid.

  • Eksekusi normal: Logika kode dipicu tepat waktu hanya pada hari eksekusi yang dipilih (misalnya Senin dan Jumat).

  • Dry run otomatis: Instans yang dihasilkan pada hari non-terpilih (misalnya Selasa, Rabu, Kamis, Sabtu, dan Minggu) secara otomatis ditetapkan ke status "dry run succeeded". Tidak ada logika kode yang benar-benar dieksekusi, dan tidak ada sumber daya komputasi yang dikonsumsi.

Contoh konfigurasi

Jika tugas target dikonfigurasi untuk berjalan setiap Senin dan Jumat dalam seminggu, instans yang dihasilkan pada Senin dan Jumat dijadwalkan dan dieksekusi secara normal. Instans yang dihasilkan pada lima hari lainnya (Selasa, Rabu, Kamis, Sabtu, dan Minggu) merupakan instans dry-run. Ketika scheduled time tiba, instans ini langsung ditetapkan ke status berhasil tanpa benar-benar mengeksekusi logika kode.

Atur Scheduled Time menjadi 13:00. Sistem secara otomatis menghasilkan ekspresi cron 00 00 13 ? * 1,5.

Detail penjadwalan

Sistem penjadwalan secara otomatis menghasilkan dan menjalankan instans untuk tugas tersebut.

Penjadwalan tingkat bulan

Berlaku untuk skenario di mana data diproses secara bulanan. Ini adalah siklus penjadwalan yang umum digunakan untuk tugas inti seperti penyelesaian keuangan, laporan kinerja bulanan, dan analisis perilaku pengguna bulanan.

Logika pembuatan instans: Sistem menghasilkan instans berdasarkan tanggal spesifik dalam bulan yang Anda pilih. Setiap instans bulanan merepresentasikan satu bulan kalender lengkap.

  • Eksekusi normal: Logika kode dipicu tepat waktu hanya pada hari eksekusi yang dipilih (misalnya tanggal 15 atau hari terakhir setiap bulan).

  • Dry run otomatis: Instans yang dihasilkan pada hari non-terpilih (misalnya tanggal 1 hingga 14 setiap bulan) secara otomatis ditetapkan ke status "dry run". Tidak ada logika kode yang benar-benar dieksekusi, dan tidak ada sumber daya komputasi yang dikonsumsi.

Contoh konfigurasi

Jika tugas target dikonfigurasi untuk menjalankan penyelesaian pada hari terakhir setiap bulan, instans yang dihasilkan pada hari terakhir setiap bulan dijadwalkan dan dieksekusi secara normal. Instans yang dihasilkan pada tanggal lainnya merupakan dry-run, artinya instans tersebut secara otomatis ditetapkan ke status berhasil ketika scheduled time tiba tanpa mengeksekusi logika kode apa pun.

Dalam contoh ini, Specified Time diatur ke tanggal 15 setiap bulan dan hari terakhir setiap bulan, serta scheduled time diatur ke 02:00. Sistem secara otomatis menghasilkan ekspresi cron 00 00 02 15,L * ?.

Detail penjadwalan

Sistem penjadwalan secara otomatis menghasilkan dan menjalankan instans untuk tugas tersebut.

Catatan
  • Saat Anda menggunakan fitur backfill data untuk mengisi ulang data tugas yang dijadwalkan bulanan, perhatikan bahwa tanggal yang dipilih adalah data timestamp, di mana data timestamp = scheduled date - 1.

    Contoh:

    • Untuk tugas yang dijadwalkan pada hari pertama setiap bulan, pilih data timestamp sebagai hari terakhir bulan sebelumnya saat mengisi ulang data.

    • Untuk tugas yang dijadwalkan pada hari terakhir setiap bulan, pilih data timestamp sebagai hari sebelum hari terakhir bulan saat mengisi ulang data.

    • Jika Anda memilih data timestamp yang berbeda untuk pengisian ulang, instans backfill tersebut akan menjadi dry-run.

  • Untuk skenario dependensi lebih lanjut, lihat Dependency scenarios.

Penjadwalan tahunan

Berlaku untuk tugas data siklus panjang seperti ringkasan triwulanan, audit tahunan, atau pemrosesan khusus terkait hari libur.

  • Logika pembuatan instans: Instans dihasilkan untuk semua 365 hari dalam setahun, tetapi komputasi aktual hanya dipicu pada bulan dan tanggal yang ditentukan.

    • Kombinasi fleksibel: Mendukung pemilihan multi-tanggal lintas bulan. Misalnya, Anda dapat menjalankan tugas hanya pada hari pertama atau terakhir setiap kuartal.

    • Mekanisme dry-run: Pada tanggal yang tidak memenuhi kondisi eksekusi, instans akan dry-run dalam hitungan detik tanpa benar-benar mengeksekusi logika atau mengonsumsi sumber daya komputasi.

Contoh konfigurasi

Jika tugas target dikonfigurasi untuk berjalan pada tanggal 1 dan hari terakhir Januari, April, Juli, dan Oktober setiap tahun, instans yang dihasilkan pada tanggal-tanggal tersebut dijadwalkan dan dieksekusi secara normal. Instans yang dihasilkan pada tanggal lainnya merupakan dry-run, artinya instans tersebut secara otomatis ditetapkan ke status berhasil ketika scheduled time tiba tanpa benar-benar mengeksekusi logika kode apa pun.

Dalam contoh ini, Specified Time diatur ke hari terakhir setiap bulan, dan scheduled time diatur ke 00:00. Sistem secara otomatis menghasilkan ekspresi cron 00 00 00 L 1,4,7,10 ?.

Detail penjadwalan

Sistem penjadwalan secara otomatis menghasilkan dan menjalankan instans untuk tugas tersebut.

Catatan

Ekspresi cron dihasilkan secara otomatis berdasarkan waktu yang Anda pilih dan tidak dapat dimodifikasi secara manual.

Manajemen siklus hidup instans

Konfigurasi ini menentukan apakah instans tugas dibuat. Konfigurasi ini tidak berkaitan dengan waktu eksekusi spesifik tugas. Sebaliknya, konfigurasi ini mengelola secara makro apakah instans harus dibuat dan apakah aturan penjadwalan itu sendiri valid.

  • Instance generation mode: Menentukan apakah perubahan konfigurasi Anda berlaku pada hari yang sama atau hari berikutnya. Mode hari berikutnya (default) memastikan bahwa perubahan tidak mengganggu tugas hari ini, memungkinkan transisi yang lancar. Mode segera memaksa reset instans hari ini untuk menerapkan perubahan. Gunakan mode ini hanya untuk perbaikan darurat setelah Anda sepenuhnya memahami dampaknya dan telah menilai risikonya.

  • Effective period: Menentukan rentang waktu valid untuk seluruh set aturan penjadwalan.

  • Scheduling calendar: Memungkinkan Anda mengikat jadwal ke kalender tertentu, seperti hanya berjalan pada hari perdagangan. Ini memberikan kontrol yang lebih fleksibel dibandingkan siklus mingguan.

Instance generation mode

Setelah node diterapkan ke sistem penjadwalan produksi, platform menghasilkan Auto Triggered Instances berdasarkan Instance Generation Mode yang dikonfigurasi untuk node tersebut, yang mencakup Next Day dan Immediately After Deployment. Terlepas dari mode pembuatan instans yang dipilih, Anda dapat melihat dependensi terbaru tugas di halaman Cycle Task di Operation Center. Namun, kapan auto triggered instances berlaku atau kapan dependensi diperbarui bergantung pada mode pembuatan instans yang Anda pilih, sebagaimana dijelaskan di bawah ini.

Penting
  • Untuk memastikan bahwa instans yang dihasilkan segera setelah penerapan dijadwalkan secara normal tanpa dry-run kedaluwarsa, pastikan scheduled time tugas minimal 10 menit lebih lambat dari deployment time. Tugas benar-benar mengeksekusi logika kode atau menghasilkan ulang instans berdasarkan konfigurasi penjadwalan terbaru hanya pada titik waktu efektif yang minimal 10 menit setelah penerapan.

  • Terlepas dari mode pembuatan instans yang Anda pilih, perubahan yang dilakukan selama periode waktu 22:00~24:00 berlaku pada hari ketiga setelah node diterapkan ke lingkungan produksi. Hindari melakukan perubahan tugas selama periode waktu ini.

Instance generation mode

Deskripsi

T+1 next day (direkomendasikan)

  • Untuk tugas baru: Setelah node diterapkan, penjadwalan otomatis dimulai pada hari berikutnya. Untuk menjalankan tugas pada hari yang sama, gunakan fitur backfill data.

  • Untuk tugas yang sudah ada: Perubahan berlaku pada hari berikutnya, dan instans yang sudah dihasilkan untuk hari ini tidak terpengaruh.

Immediately after deployment

Instans untuk hari ini dihasilkan segera setelah node diterapkan. Instans dipicu secara normal hanya jika scheduled time minimal 10 menit lebih lambat dari deployment time. Jika scheduled time lebih awal dari ambang batas ini (termasuk waktu lampau dan waktu dalam periode buffer), instans secara otomatis masuk ke status dry-run, artinya instans langsung ditetapkan sebagai berhasil tanpa benar-benar mengeksekusi kode apa pun.

  • Untuk tugas baru: Apakah tugas benar-benar berjalan pada hari penerapan bergantung pada hubungan kronologis antara scheduled time dan deployment time. Jika scheduled time lebih awal dari deployment time (atau jatuh dalam periode buffer efektif), instans yang dihasilkan melakukan dry run.

  • Untuk tugas yang sudah ada dengan siklus penjadwalan yang dimodifikasi: Sistem menghasilkan ulang instans mendatang setelah deployment time berdasarkan konfigurasi terbaru dan menggantikan instans asli, tetapi instans historis yang sudah dihasilkan sebelumnya tetap dipertahankan. Karena perubahan frekuensi dapat menyebabkan instans siklus lama dan baru berdampingan pada hari yang sama dengan dependensi kompleks, kami menyarankan Anda mengevaluasi dampaknya secara menyeluruh sebelum penerapan dan melanjutkan dengan hati-hati.

Catatan

Perbedaan cara kode tugas dan konfigurasi penjadwalan berlaku: Terlepas dari mode pembuatan instans, instans selalu membaca kode tugas terbaru saat runtime. Namun, konfigurasi penjadwalan (seperti parameter penjadwalan dan kebijakan rerun) dibekukan ke dalam instans pada saat pembuatan instans. Jika Anda memodifikasi konfigurasi penjadwalan setelah instans dihasilkan, instans yang sudah ada tidak secara otomatis menyinkronkan perubahan tersebut dan terus berjalan dengan konfigurasi lama dari saat pembuatan. Untuk menerapkan perubahan, Anda dapat menggunakan Refresh Instance di Operation Center untuk memperbarui konfigurasi penjadwalan instans yang sudah ada secara langsung. Jika Anda hanya memerlukan eksekusi tertentu menggunakan konfigurasi terbaru, Anda juga dapat menjalankan backfill untuk tugas tersebut agar dijalankan ulang dengan konfigurasi terbaru. Untuk informasi lebih lanjut, lihat Instance generation mode: Immediately after deployment.

Effective period

Menentukan rentang waktu valid untuk penjadwalan tugas otomatis. Setelah effective period berakhir, tugas tidak lagi menghasilkan instans dan menjadi tugas kedaluwarsa, yang dapat Anda pantau dan kelola di O&M overview.

Scheduling calendar

Digunakan untuk menentukan tanggal penjadwalan dan metode penjadwalan untuk tugas. DataWorks mendukung dua jenis kalender berikut:

  • Kalender default: Disediakan oleh platform dan berlaku untuk skenario umum.

  • Kalender penjadwalan kustom: Ditentukan pengguna dan berlaku untuk industri dan skenario yang memerlukan tanggal penjadwalan fleksibel (misalnya, industri keuangan). Anda dapat mengonfigurasi aturan seperti ruang kerja yang menerapkan kalender tersebut, periode validitas kalender, dan metode penjadwalan untuk tugas pada tanggal tertentu. Untuk informasi lebih lanjut, lihat Custom scheduling calendar.

Anda perlu menggabungkan kalender penjadwalan yang dipilih dengan scheduled time dan instance generation mode serta konfigurasi penjadwalan lainnya untuk menjadwalkan tugas pada waktu tertentu.

Kebijakan eksekusi

Konfigurasi ini menentukan cara tugas dieksekusi setelah dipicu.

Tipe penjadwalan

Tipe penjadwalan yang didukung oleh DataWorks dijelaskan dalam tabel berikut.

Tipe penjadwalan

Dampak

Kasus penggunaan

Normal

Menjalankan kode secara normal dan memicu tugas hilir.

Tugas periodik yang berjalan dalam status normal, dan instans periodik yang dihasilkan juga berjalan dalam status normal.

Suspend scheduling

Instans tidak berjalan setelah scheduled time tiba dan ditetapkan sebagai gagal, yang menghambat tugas hilir. Menangguhkan penjadwalan setara dengan membekukan di Operation Center. Node dengan penjadwalan yang ditangguhkan menampilkan ikon freeze Suspended di Operation Center. Tugas periodik yang dibekukan menghasilkan instans periodik yang juga dalam status beku.

Berlaku untuk pemotongan darurat alur kerja.

Saat alur kerja tidak perlu dijalankan untuk periode waktu tertentu, Anda dapat memilih tipe penjadwalan ini untuk membekukan node akar alur kerja tersebut. Saat alur kerja perlu dijalankan kembali, Anda dapat membuka bekuan node akar tersebut. Untuk informasi lebih lanjut tentang membuka bekuan tugas, lihat Unfreeze a task.

Dry Run

Instans langsung ditetapkan sebagai berhasil setelah scheduled time tiba (dengan durasi eksekusi 0 detik). Instans tidak menjalankan kode atau mengonsumsi sumber daya, tetapi tetap memicu tugas hilir secara normal.

Saat node tidak perlu dijalankan untuk periode waktu tertentu dan Anda tidak ingin menghambat node hilirnya, Anda dapat memilih tipe penjadwalan ini.

Penanganan exception dan toleransi kesalahan

Ini merupakan kunci untuk memastikan stabilitas pipa data dengan menetapkan rencana respons untuk berbagai exception yang mungkin terjadi.

  • Rerun property: Menentukan apakah dan bagaimana sistem harus mencoba ulang secara otomatis ketika tugas gagal.

  • Timeout settings: Menetapkan durasi eksekusi maksimum yang wajar untuk tugas. Jika tugas melebihi durasi ini, sistem dapat secara otomatis memicu peringatan atau menghentikan tugas untuk mencegah satu node macet dan mengonsumsi sumber daya berlebihan.

Definisi timeout

Menetapkan durasi eksekusi maksimum yang diizinkan untuk tugas. Jika durasi eksekusi melebihi nilai ini, tugas secara otomatis dihentikan dan ditetapkan sebagai gagal untuk mencegah tugas macet dan memengaruhi seluruh alur kerja.

  • Cakupan: Berlaku untuk instans periodik, instans backfill, dan instans uji.

  • Nilai default: Defaultnya adalah 3 hingga 7 hari, yang disesuaikan secara dinamis oleh sistem berdasarkan beban aktual.

  • Batasan: Nilai maksimum yang dapat diatur secara manual adalah 168 jam (7 hari), dan nilai minimumnya adalah 1 menit.

Deskripsi rerun

Kebijakan rerun digunakan untuk menerapkan pemulihan kesalahan otomatis untuk tugas.

Catatan
  • Saat menggunakan properti rerun, pastikan tugas bersifat idempoten (kecuali untuk tugas khusus) untuk menghindari masalah kualitas data setelah tugas dijalankan ulang karena kegagalan. Misalnya, gunakan pernyataan insert overwrite alih-alih pernyataan insert into selama pengembangan ODPS SQL.

  • Rerun property: Kebijakan rerun digunakan untuk menerapkan pemulihan kesalahan otomatis untuk tugas.

    Type

    Kasus penggunaan

    Allow Rerun Regardless of Running Status

    Berlaku untuk tugas idempoten yang dapat dieksekusi berulang kali tanpa memengaruhi hasil.

    Do not re-run after successful operation, and re-run after failure.

    Mencegah kontaminasi data yang disebabkan oleh rerun tidak sengaja pada tugas yang berhasil.

    Disallow Regardless of Running Status

    Berlaku untuk tugas non-idempoten (seperti tugas sinkronisasi data tertentu). Setelah Anda memilih opsi ini, fitur Auto Rerun upon Failure tidak tersedia.

  • Auto rerun upon failure: Saat tugas gagal, sistem secara otomatis memicu rerun.

    Parameter

    Deskripsi

    Rerun Times

    Jumlah percobaan ulang otomatis setelah kegagalan. Nilai yang valid: 1 hingga 10.

    Rerun Interval

    Interval antar percobaan ulang. Nilai yang valid: 1 hingga 30 menit.

    Catatan

    Kegagalan yang disebabkan oleh timeout tidak memicu percobaan ulang otomatis.

FAQ dan praktik terbaik

  • Q: Mengapa waktu proses aktual suatu Tugas berbeda dari waktu terjadwal?

    J: Scheduled time hanyalah waktu mulai yang diharapkan dari tugas. Eksekusi aktual juga memerlukan dua kondisi terpenuhi: ① Semua tugas dependensi hulu telah berhasil dijalankan. ② Sumber daya penjadwalan tersedia. Jika salah satu kondisi tidak terpenuhi, tugas tetap dalam status menunggu.

    Selain itu, jika scheduled time diatur sekitar 00:00, instans mungkin mengalami keterlambatan beberapa menit sebelum dipicu, karena periode ini merupakan waktu puncak penjadwalan DataWorks. Hal ini normal. Untuk detailnya, lihat pertanyaan berikutnya.

  • T: Scheduled time tugas adalah 00:00. Mengapa instans mulai berjalan beberapa menit terlambat?

    J: Sekitar pukul 00:00 setiap hari merupakan waktu puncak penjadwalan DataWorks. Sejumlah besar tugas dipicu secara bersamaan, dan biasanya terjadi keterlambatan beberapa menit antara scheduled time dan waktu mulai aktual instans. Keterlambatan ini terjadi selama fase pemicuan tugas dan merupakan hal normal. Anda tidak perlu mengirimkan tiket.

    Untuk mengurangi keterlambatan pemicuan, kami menyarankan Anda mengatur scheduled time ke titik waktu setelah 00:00 untuk menghindari jam sibuk. Jika bisnis Anda memerlukan pemicuan pada pukul 00:00, pertimbangkan keterlambatan ini saat mengevaluasi latensi pipa Anda.

  • T: Tugas hulu saya berjalan dengan jadwal per jam dan tugas hilir saya berjalan dengan jadwal harian. Apakah keduanya dapat saling bergantung?

    A: DataWorks mendukung dependensi antar tugas dengan siklus penjadwalan yang berbeda. Sistem menggunakan algoritma resolusi dependensi yang kompleks untuk memastikan tugas hilir menunggu dengan benar hingga semua instans hulunya selesai sebelum berjalan. Untuk detailnya, lihat Prinsip dependensi lintas siklus.

  • T: Saya mengisi ulang data untuk Jumat lalu. Mengapa variabel bizdate tidak menunjukkan tanggal Jumat?

    J: Hal ini biasanya terjadi karena Anda mengacaukan "data timestamp" (bizdate) dengan "run date". Di DataWorks, bizdate = scheduled time − 1 hari. Saat Anda mengisi ulang tugas yang scheduled time-nya pada dini hari Sabtu, bizdate yang perlu Anda pilih adalah Jumat.

  • T: Tugas saya berisi logika penulisan data. Apakah data akan diduplikasi jika saya menjalankan ulang tugas tersebut?

    J: Ada kemungkinan demikian. Oleh karena itu, kami sangat menyarankan Anda memastikan idempotensi tugas. Untuk tugas penulisan data, gunakan INSERT OVERWRITE (overwrite) alih-alih INSERT INTO (append) untuk memastikan hasil yang konsisten meskipun tugas dijalankan ulang berkali-kali.