Airflow

Airflow - bash dag샘플

개발 일기92 2024. 4. 11. 18:59
from airflow.models.dag import DAG
import datetime
import pendulum
from airflow.operators.bash import BashOperator

with DAG(
    dag_id="dags_bash_operator", # web ui에 보여지는 이름, py파일명과는 무관.
    schedule="0 0 * * *",
    #start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
    start_date=pendulum.datetime(2021, 1, 1, tz="Asia/Seoul"),
    catchup=False,              # True 일 경우 start_date인 2021.1.1 ~ 현재 까지 전부 실행됨. 기본적으로 False
    dagrun_timeout=datetime.timedelta(minutes=60), # 60분 이상 실행 시 실패로 처리
    tags=["ex", "ex2"], # web ui 태그
    params={"example_key": "example_value"},
) as dag:
      bash_t1 = BashOperator(
        task_id="bash_t1",
        bash_command="echo test1",
    )
     
      bash_t2 = BashOperator(
        task_id="bash_t2",
        bash_command="echo $HOSTNAME",
    )  
     
      bash_t1 >> bash_t2 # 실행 순서

 

bash_t2의 로그를 보면 $HOSTNAME 결과로 airflow의  worker container id가 뜨게 된다.

 

'Airflow' 카테고리의 다른 글

Airflow - Executor 설정  (0) 2025.04.05
Airflow - task 기본개념  (0) 2024.04.11
Airflow - 기본개념  (2) 2024.04.11