在Airflow中,DAG(Directed Acyclic Graph)被定义为任务的有向无环图。要启动昨天的DAG,可以使用Airflow的内置变量{{yesterday}}和airflow.utils.dates.days_ago()函数。下面是一个示例代码:
from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2021, 1, 1),
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=1),
}
dag = DAG('example_dag', default_args=default_args, schedule_interval=timedelta(days=1))
start_dag = BashOperator(
task_id='start_dag',
bash_command='echo "Start DAG on yesterday: {{ yesterday }}"',
dag=dag,
)
start_dag
在DAG任务'start_dag”中,使用BashOperator运行命令'echo "Start DAG on yesterday: {{ yesterday }}"”,{{ yesterday }}将被替换为昨天的日期。
上一篇:AirflowStandaloneCannotuserelativepath:
下一篇:AirflowSubdag任务在CLI中回溯时会创建新任务,而不是重新运行失败的任务,并且仅运行1天而非日期范围。