在Airflow中,可以使用default_args
参数来指定DAG的默认参数,包括任务超时时间。default_args
是一个字典,可以在DAG
的构造函数中作为参数传递。
以下是一个示例代码,展示如何在Airflow中指定每天执行任务的超时参数:
from datetime import datetime
from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
default_args = {
'owner': 'airflow',
'start_date': datetime(2021, 1, 1),
'retries': 3,
'retry_delay': timedelta(minutes=5),
'execution_timeout': timedelta(hours=2) # 指定任务超时时间为2小时
}
dag = DAG('my_dag', default_args=default_args, schedule_interval='@daily')
task1 = DummyOperator(task_id='task1', dag=dag)
task2 = DummyOperator(task_id='task2', dag=dag)
task1 >> task2
在上面的示例中,default_args
字典中的execution_timeout
参数被设置为timedelta(hours=2)
,表示每个任务的超时时间为2小时。这样,所有在该DAG中定义的任务都将具有相同的超时时间。
请注意,在default_args
中设置的超时时间仅适用于任务的执行时间。如果任务在超时时间内没有完成,Airflow将终止任务。如果任务需要更长的超时时间,可以在每个任务的操作符中单独设置超时时间。
希望对你有所帮助!