在Airflow中,可以使用default_args
参数来设置DAG的默认参数,其中包括任务的超时时间。以下是一个示例:
from datetime import datetime
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
default_args = {
'owner': 'airflow',
'start_date': datetime(2021, 1, 1),
'retries': 3,
'retry_delay': timedelta(minutes=5),
'execution_timeout': timedelta(minutes=30) # 设置任务的超时时间为30分钟
}
dag = DAG('example_dag', default_args=default_args, schedule_interval='@daily')
task1 = BashOperator(
task_id='task1',
bash_command='echo "Task 1"',
dag=dag
)
task2 = BashOperator(
task_id='task2',
bash_command='echo "Task 2"',
dag=dag
)
task1 >> task2
在上述示例中,我们在default_args
中添加了一个execution_timeout
参数来设置任务的超时时间为30分钟。这样,在执行任务时,如果任务的执行时间超过30分钟,Airflow会自动将任务标记为超时并停止执行。
请注意,超时时间是可选的,如果不设置execution_timeout
参数,任务将没有超时限制。