我有一个气流DAG,对它来说回填真的没有意义。我发现使用airflow 1.8,您可以为DAG提供参数catchup=False
,因此它只会启动最近的工作。
也就是说,我希望DAG从午夜开始并每天运行。
但。这就是现在的事情:DAG立即开始而不是午夜。此外,当我清除所有DAG运行时,它将立即再次启动。然后DAG将每天运行,但将在错误的时间安排+ 1天。
如何让DAG只开始运行最近的作业,和在特定时间(午夜)开始?
以下是我使用的代码:
from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
default_args = {'depends_on_past': False,
'start_date': datetime(2013, 1, 1)}
with DAG('test_dag',
default_args=default_args,
schedule_interval=timedelta(days=1),
catchup=False
) as dag:
test = DummyOperator(task_id='test')
答案 0 :(得分:0)
您可以将crontab放入schedule_interval,可以在此处找到更多详细信息:https://airflow.apache.org/scheduler.html#dag-runs,例如schedule_interval="0 0 * * *"
此外,Airflow正在UTC下运行,请将您的“午夜”调整为正确的时区。