我读过Airflow的关于"What's the deal with start_date
?"的常见问题,但它仍然不清楚为什么建议不要使用动态start_date
。为什么建议不要在Airflow中使用动态start_date?
据我了解,一个DAG的execution_date
由所有的DAG的任务之间的最小start_date
确定,以及随后的DAG奔跑在最新execution_date
+ schedule_interval
跑。
如果我将DAG的default_args
start_date
是,比如说,昨天定为20:00:00
,与天为1 schedule_interval
,怎么会那个破或混淆的调度,如果在所有?如果我理解正确,调度程序将触发DAG,其日期为execution_date
,日期为20:00:00
,下一个DAG运行将安排在今天的20:00:00
。
有一些我失踪的概念吗?
那么调度程序计算'start_date'的频率如何?它是否在每次运行之前计算它? – earthican
我想我对此感到困惑:如果'start_date'在't'时间是'datetime.now()',那么't'应该已经保存在某个地方,对吧?所以当't + 1'终于到来时,调度程序应该知道开始运行,因为它不会再次计算'start_date' – earthican
@earthican这在文档中没有明确提及。还有一件事我想提一下,如果你在start_date或schedule_interval中做了任何修改,总是修改dag的名字,比如my_dag_v1或者其他东西。如果您不更改dag的名称,则对start_date或interval的更改将不起作用 – liferacer