Airflow通过检查任务的exit code来确定任务是否成功完成。默认情况下,只有0表示成功,非0表示失败。您可以使用"provide_context = True"参数将上一个任务的context传递给下一个任务,以便在运行下一个任务时检查上一个任务的状态。要安排重试,您可以设置任务的重试次数和间隔。
以下是代码示例:
from airflow import DAG from airflow.operators.bash_operator import BashOperator from datetime import datetime, timedelta
default_args = { 'owner': 'airflow', 'depends_on_past': False, 'start_date': datetime(2021, 1, 1), 'retries': 3, 'retry_delay': timedelta(minutes=5) }
dag = DAG( 'example_dag', default_args=default_args, schedule_interval=timedelta(days=1) )
task1 = BashOperator( task_id='task1', bash_command='exit 0', dag=dag )
task2 = BashOperator( task_id='task2', bash_command='exit 1', retries=3, dag=dag )
task2.set_upstream(task1)