Airflow的@task装饰器可以接受多个参数,以便更好地控制任务的执行。以下是一些常见的参数:
task_id:任务的唯一标识符。默认情况下,任务的ID将与任务函数的名称相同,但是您可以通过传递此参数来自定义任务ID。
retries:任务失败后要重试的次数。默认情况下,重试次数为0。
retry_delay:每次重试之间的间隔。需要传递一个时间段对象。默认是5分钟。
email_on_failure:在任务执行失败时是否发送电子邮件通知。默认是False。
代码示例:
from airflow.decorators import dag, task from datetime import datetime
@dag(default_args={"owner": "airflow"}, start_date=datetime(2022, 1, 1), schedule_interval="@daily", catchup=False) def my_dag():
@task(task_id="task1", retries=2, retry_delay=timedelta(minutes=1), email_on_failure=True)
def my_task():
pass
# more tasks here
dag = my_dag()