Picu DAG

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Halaman ini menjelaskan berbagai cara untuk memicu DAG di lingkungan Cloud Composer.

Airflow menyediakan cara berikut untuk memicu DAG:

  • Dipicu sesuai jadwal. Saat membuat DAG, Anda menentukan jadwalnya. Airflow memicu DAG secara otomatis berdasarkan parameter penjadwalan yang ditentukan.

  • Dipicu secara manual. Anda dapat memicu DAG secara manual dari Konsol Google Cloud, UI Airflow, atau dengan menjalankan perintah CLI Airflow dari gcloud.

  • Dipicu sebagai respons terhadap peristiwa. Cara standar untuk memicu DAG sebagai respons terhadap peristiwa adalah dengan menggunakan sensor.

Cara lain untuk memicu DAG:

Memicu DAG sesuai jadwal

Untuk memicu DAG sesuai jadwal:

  1. Tentukan parameter start_date dan schedule_interval di file DAG, seperti yang akan dijelaskan nanti di bagian ini.
  2. Upload file DAG ke lingkungan Anda.

Menentukan parameter penjadwalan

Saat menentukan DAG, dalam parameter schedule_interval, Anda menentukan seberapa sering Anda ingin menjalankan DAG. Di parameter start_date, Anda menentukan kapan Airflow akan mulai menjadwalkan DAG. Tugas di DAG dapat memiliki tanggal mulai individual, atau Anda dapat menentukan satu tanggal mulai untuk semua tugas. Berdasarkan tanggal mulai minimum untuk tugas di DAG dan pada interval jadwal, Airflow menjadwalkan DAG yang dijalankan.

Penjadwalan berjalan dengan cara berikut. Setelah start_date diteruskan, Airflow akan menunggu kemunculan schedule_interval berikut. Kemudian, GPU menjadwalkan proses DAG pertama agar terjadi pada akhir interval jadwal ini. Misalnya, jika DAG dijadwalkan untuk berjalan setiap jam (schedule_interval adalah 1 jam) dan tanggal mulai pukul 12.00 hari ini, proses DAG pertama akan dilakukan pukul 13.00 hari ini.

Contoh berikut menunjukkan DAG yang berjalan setiap jam mulai pukul 15.00 pada 5 April 2024. Dengan parameter yang digunakan dalam contoh tersebut, Airflow menjadwalkan proses DAG pertama agar dilakukan pada pukul 16.00 pada 5 April 2024.

from datetime import datetime
from airflow import DAG
from airflow.operators.bash_operator import BashOperator

with DAG(
    dag_id='example_dag_schedule',
    # At 15:00 on 5 April, 2024
    start_date=datetime(2024, 4, 5, 15, 0),
    # At minute 0 of every hour
    schedule_interval='0 * * * *') as dag:

    # Output the current date and time
    t1 = BashOperator(
        task_id='date',
        bash_command='date',
        dag=dag)

    t1

Untuk mengetahui informasi selengkapnya tentang parameter penjadwalan, lihat DAG Run dalam dokumentasi Airflow.

Contoh parameter penjadwalan lainnya

Contoh parameter penjadwalan berikut menggambarkan cara kerja penjadwalan dengan berbagai kombinasi parameter:

  • Jika start_date adalah datetime(2024, 4, 4, 16, 25) dan schedule_interval adalah 30 16 * * *, proses DAG pertama akan terjadi pada pukul 16.30 pada 5 April 2024.

  • Jika start_date adalah datetime(2024, 4, 4, 16, 35) dan schedule_interval adalah 30 16 * * *, proses DAG pertama akan terjadi pada pukul 16.30 pada 6 April 2024. Karena tanggal mulai jatuh setelah interval jadwal pada 4 April 2024, proses DAG tidak terjadi pada 5 April 2024. Sebagai gantinya, interval jadwal berakhir pada 5 April 2024 pukul 16.35, sehingga operasi DAG berikutnya dijadwalkan pada pukul 16.30 pada hari berikutnya.

  • Jika start_date adalah datetime(2024, 4, 4), dan schedule_interval adalah @daily, proses DAG pertama dijadwalkan pada pukul 00.00 pada 5 April 2024.

  • Jika start_date adalah datetime(2024, 4, 4, 16, 30), dan schedule_interval adalah 0 * * * *, proses DAG pertama dijadwalkan pada pukul 18.00 pada 4 April 2024. Setelah tanggal dan waktu yang ditentukan berlalu, Airflow menjadwalkan proses DAG agar terjadi pada menit ke-0 setiap jam. Titik waktu terdekat saat hal ini terjadi adalah pukul 17.00. Saat ini, Airflow menjadwalkan operasi DAG agar dilakukan pada akhir interval jadwal, yaitu pada pukul 18.00.

Memicu DAG secara manual

Saat Anda memicu DAG secara manual, Airflow akan menjalankan DAG. Misalnya, jika Anda memiliki DAG yang sudah berjalan sesuai jadwal, dan Anda memicu DAG ini secara manual, Airflow akan mengeksekusi DAG satu kali, secara terpisah dari jadwal sebenarnya yang ditentukan untuk DAG.

Konsol

Untuk memicu DAG dari Konsol Google Cloud:

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pilih lingkungan untuk melihat detailnya.

  3. Di halaman Environment details, buka tab DAGs.

  4. Klik nama DAG.

  5. Di halaman DAG details, klik Trigger DAG. Operasi DAG baru dibuat.

UI Airflow

Untuk memicu DAG dari antarmuka web Airflow:

  1. Di Konsol Google Cloud, buka halaman Environments.

Buka Lingkungan

  1. Di kolom webserver Airflow, ikuti link Airflow untuk lingkungan Anda.

  2. Login dengan Akun Google yang memiliki izin yang sesuai.

  3. Di antarmuka web Airflow, pada halaman DAGs, di kolom Links untuk DAG, klik tombol Trigger Dag.

  4. (Opsional) Tentukan konfigurasi run DAG.

  5. Klik Pemicu.

gcloud

Jalankan perintah Airflow CLI dags trigger:

  gcloud composer environments run ENVIRONMENT_NAME \
    --location LOCATION \
    dags trigger -- DAG_ID

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • DAG_ID dengan nama DAG.

Untuk mengetahui informasi lebih lanjut tentang cara menjalankan perintah CLI Airflow di lingkungan Cloud Composer, lihat Menjalankan perintah CLI Airflow.

Untuk mengetahui informasi selengkapnya tentang perintah Airflow CLI yang tersedia, lihat referensi perintah gcloud composer environments run.

Langkah selanjutnya