如何自动运行apache airflow任务

时间:2018-02-09 12:51:00

标签: python apache etl airflow directed-acyclic-graphs

我正在使用Apache Airflow来安排作为python脚本的ETL作业。 当我在气流上创建dags时,它会将dags状态设置为off。我的代码是这样的。

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

default_args = {
    'owner': 'oguz',
    'depends_on_past': False,
    'start_date': datetime(2018, 1, 25),
    'email': ['airflow@airflow.com'],
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
    'end_date': datetime(9999, 1, 1),
}

dag = DAG('%s', default_args=default_args, schedule_interval='@daily')

# t1 and t2 are examples of tasks created by instantiating operators
t1 = BashOperator(
    task_id='%s',
    bash_command='python /bookmark/ETL/extract/incremental/%s.py',
    dag=dag)

t2 = BashOperator(
    task_id='%s',
    bash_command='python /bookmark/ETL/load/incremental/%s.py',
    retries=3,
    dag=dag)

t2.set_upstream(t1)

我搜索了气流文档但我找不到任何东西。

如何自动运行气流dags?

谢谢,

1 个答案:

答案 0 :(得分:0)

如果在UI中将状态切换为“ON”,它应该根据给定的时间间隔开始运行DAG(在您的情况下为每天)。如果您希望默认启用新的DAG,则可以在气流配置中更新dags_are_paused_at_creation = False下的设置[core]