SLA dan pelaporan di Airflow

Pengantar Apache Airflow dengan Python

Mike Metzger

Data Engineer

SLA

Apa itu SLA?

  • SLA adalah singkatan dari Service Level Agreement
  • Di Airflow: waktu yang seharusnya dibutuhkan sebuah task atau DAG untuk berjalan
  • SLA Miss terjadi saat task/DAG melewati waktu yang ditetapkan
  • Jika SLA terlewat, email dikirim dan log disimpan
  • Anda dapat melihat SLA miss di web UI
Pengantar Apache Airflow dengan Python

SLA Misses

  • Ada di menu Browse: SLA Misses

Tampilan SLA Misses

Pengantar Apache Airflow dengan Python

Mendefinisikan SLA

  • Gunakan argumen 'sla' pada task

    task1 = BashOperator(task_id='sla_task', 
                       bash_command='runcode.sh',
                       sla=timedelta(seconds=30),
                       dag=dag)
    
  • Atau pada dictionary default_args

    default_args={
     'sla': timedelta(minutes=20),
     'start_date': datetime(2023,2,20)
    }
    dag = DAG('sla_dag', default_args=default_args)
    
Pengantar Apache Airflow dengan Python

Objek timedelta

  • Di library datetime
  • Diimpor dengan from datetime import timedelta
  • Menerima argumen days, seconds, minutes, hours, dan weeks
    timedelta(seconds=30)
    timedelta(weeks=2)
    timedelta(days=4, hours=10, minutes=20, seconds=30)
    
Pengantar Apache Airflow dengan Python

Pelaporan umum

  • Opsi untuk sukses/gagal/error
  • Kunci dalam dictionary default_args
default_args={
  'email': ['[email protected]'],
  'email_on_failure': True,
  'email_on_retry': False,
  'email_on_success': True,
  ...
}
  • Dalam DAG melalui EmailOperator
Pengantar Apache Airflow dengan Python

Ayo berlatih!

Pengantar Apache Airflow dengan Python

Preparing Video For Download...