首页 > 解决方案 > 如何以不同的时间表在 DAG 中只运行一项任务?

问题描述

我有一个 DAG,它每天以特定的预定时间间隔运行,它从 API 中获取数据,对其进行处理并将其传输到 Google Cloud。

现在,随着 API 的授权令牌不断过期,我需要自动执行获取身份验证令牌的任务(使用 API)并更新 Airflow 中的连接。为此,我在我的 DAG 中添加了一项任务,即更新我的 Airflow 连接中的 Auth 令牌。

但我只想每月安排一次特定任务,而不是每天安排一次。

这是我在 DAG 中的 default_args

default_args = {
"owner": "airflow_admin",
"start_date": datetime(2017, 8, 29),
"schedule_interval": "0 5 * * *"
}

这是我的任务

update_auth_token = PythonOperator(
task_id = "update_auth_token",
python_context = True,
python_callable = update_auth_token,
dag=dag,
)

与 DAG 中运行的其他任务不同,我如何才能每月仅安排一次任务 update_auth_token 而不是每天?我可以在任务中单独添加 start_date、schedule_interval 吗?还有其他方法吗?

标签: airflowairflow-scheduler

解决方案


推荐阅读