Scheduled ETL Job

Scheduled ETL Job menyediakan penjadwalan otomatis untuk proses ETL. DocType ini menggabungkan ETL Data Source dan ETL Transform Map ke dalam pekerjaan terjadwal yang menjalankan ekstraksi dan transformasi secara otomatis.

Referensi Kolom

Konfigurasi Job

Kolom Tipe Wajib Deskripsi
Display Name Data Ya Nama untuk job ini
Application Link Ya Aplikasi tempat job ini berada
Active Check Tidak Aktifkan/nonaktifkan eksekusi job (default: dicentang)

Konfigurasi ETL

Kolom Tipe Wajib Deskripsi
Data Source Link Ya ETL Data Source untuk mengekstrak data
Transform Map Link Ya ETL Transform Map yang akan diterapkan selama transformasi

Penjadwalan

Kolom Tipe Wajib Deskripsi
Event Frequency Select Ya Seberapa sering dijalankan (All, Hourly, Daily, Weekly, Monthly, Yearly, Cron, Custom)
Time Time Tidak Jam berapa dalam sehari untuk dijalankan (default: 00:00:00)

Kolom Custom Frequency

Tersedia ketika Event Frequency = "Custom"

Kolom Tipe Deskripsi
Custom Frequency Select Daily, Weekly, Monthly, atau Yearly
Weekday Select Hari dalam minggu (untuk Weekly)
Day Select Hari dalam bulan (untuk Monthly/Yearly)
Month Select Bulan (untuk Yearly)

Jadwal Cron

Tersedia ketika Event Frequency = "Cron"

Kolom Tipe Deskripsi
Cron Format Data Ekspresi cron standar (misalnya, "0 2 * * *" untuk setiap hari pada pukul 2 pagi)

Cara Kerja ETL Jobs

Ketika Anda menyimpan ETL Job, sistem secara otomatis:

  1. Membuat Server Script dengan tipe event scheduler
  2. Menghasilkan kode eksekusi yang memanggil pipeline ETL:
    mantera.run_etl_job("data_source_name", "transform_map_name")
  3. Mengonfigurasi penjadwalan berdasarkan pengaturan Event Frequency
  4. Mengelola siklus hidup Server Script (update/delete ketika job berubah)

Eksekusi Pipeline ETL

Setiap eksekusi terjadwal:

  1. Mengekstrak data dari Data Source yang dikonfigurasi
  2. Membuat Import Batch dengan data yang diekstrak dalam chunk
  3. Menerapkan Transform Map untuk membuat/memperbarui record target
  4. Mencatat hasil dalam Transform Run dengan event detail
  5. Berjalan di background untuk menghindari memblokir sistem

Aksi

Run ETL Job

Secara manual memicu eksekusi job untuk tujuan testing. Job berjalan dalam antrian background dengan timeout 1 jam.

Opsi Frekuensi

Frekuensi Standar

  • All: Berjalan setiap menit (gunakan dengan hati-hati)
  • Hourly: Setiap jam pada menit ke-0
  • Daily: Sekali per hari pada waktu yang ditentukan
  • Weekly: Sekali per minggu pada hari Minggu pada waktu yang ditentukan
  • Monthly: Sekali per bulan pada tanggal 1 pada waktu yang ditentukan
  • Yearly: Sekali per tahun pada 1 Januari pada waktu yang ditentukan

Varian Long-Running

  • Hourly Long, Daily Long, dll.: Jadwal yang sama tetapi dengan timeout diperpanjang untuk dataset besar

Penjadwalan Custom

Memberikan kontrol yang lebih granular:

  • Daily: Tentukan waktu yang tepat
  • Weekly: Pilih hari dalam minggu dan waktu
  • Monthly: Pilih hari dalam bulan dan waktu
  • Yearly: Pilih bulan, hari, dan waktu

Ekspresi Cron

Fleksibilitas penuh menggunakan sintaks cron standar:

*  *  *  *  *
┬  ┬  ┬  ┬  ┬
│  │  │  │  └─ day of week (0-6) (0 is Sunday)
│  │  │  └──── month (1-12)
│  │  └─────── day of month (1-31)
│  └────────── hour (0-23)
└───────────── minute (0-59

Contoh Konfigurasi

Impor Customer Harian

Display Name: Daily Customer Sync
Data Source: Customer Database Extract  
Transform Map: Customer Import Mapping
Event Frequency: Daily
Time: 02:00:00

Laporan Sales Mingguan

Display Name: Weekly Sales Data
Data Source: Sales API Endpoint
Transform Map: Sales Record Transform
Event Frequency: Custom
Custom Frequency: Weekly
Weekday: Monday
Time: 08:00:00

Jadwal Cron Kompleks

Display Name: Business Hours API Sync
Data Source: External CRM API
Transform Map: Contact Data Transform
Event Frequency: Cron
Cron Format: 0 9,13,17 * * 1-5
(Berjalan pada pukul 9 pagi, 1 siang, dan 5 sore pada hari kerja)

Monitoring Jobs

Status Job

  • Job aktif muncul dalam daftar Server Script dengan nama yang sesuai
  • Job tidak aktif memiliki Server Scripts yang dinonaktifkan
  • Log eksekusi job muncul dalam DocType Scheduled Job Log

Troubleshooting

  • Periksa Error Log untuk kegagalan background job
  • Tinjau record ETL Transform Run untuk detail pemrosesan
  • Monitor status ETL Import Batch untuk masalah ekstraksi
  • Verifikasi Data Connection aktif dan dapat diakses

Praktik Terbaik

Penjadwalan

  • Hindari eksekusi yang tumpang tindih untuk sumber data yang sama
  • Jadwalkan selama jam lalu lintas rendah untuk performa yang lebih baik
  • Gunakan timeout yang sesuai untuk ukuran volume data
  • Pertimbangkan zona waktu saat mengatur waktu eksekusi

Penanganan Error

  • Monitor log eksekusi job secara teratur
  • Siapkan notifikasi email untuk error kritis
  • Uji dengan dataset kecil sebelum menjalankan produksi penuh
  • Siapkan prosedur rollback untuk masalah kualitas data

Performa

  • Optimalkan ukuran chunk berdasarkan volume data
  • Buat indeks pada kolom coalesce dalam target DocTypes
  • Gunakan ekstraksi inkremental jika memungkinkan
  • Arsipkan Import Batches dan Transform Runs lama secara berkala

Pertimbangan Keamanan

  • ETL Jobs mewarisi izin dari sistem Server Script
  • Eksekusi background berjalan dengan hak akses tingkat sistem
  • Pastikan validasi data yang tepat dalam Transform Maps
  • Monitor perubahan jadwal yang tidak sah
  • Gunakan koneksi SSL untuk semua sumber data eksternal

DocTypes Terkait

  • ETL Data Source: Mendefinisikan data apa yang akan diekstrak
  • ETL Transform Map: Mendefinisikan cara mentransformasi dan memuat data
  • Server Script: Script scheduler yang dibuat secara otomatis
  • ETL Import Batch: Dibuat untuk setiap eksekusi job
  • ETL Transform Run: Mencatat setiap operasi transformasi

Discard
Save

On this page

Review Changes ← Back to Content
Message Status Space Raised By Last update on