许多具有schedule_interval=None
的airflow example dags都设置了动态开始日期,如airflow.utils.dates.days_ago(2)
或datetime.utcnow()
。但是,docs建议不要使用动态开始日期:
我们建议不要使用动态值作为start_date,尤其是datetime.now(),因为它可能非常容易混淆。该任务在时间段结束时触发,理论上@每小时的DAG永远不会到达一个小时后,因为now()一直在进行。
开始日期是否与手动触发的dags无关?这里的最佳实践是什么?
发布于 2018-06-08 04:26:57
我总是尝试将手动触发的DAG的开始日期设置为我第一次运行它的那一天,这样我就可以知道DAG第一次运行的时间,以便将来参考。
发布于 2018-06-08 00:37:56
如果你有schedule_interval=None
,我相信start_date
是无关紧要的,因为airflow不会尝试进行任何回填。只需将其设置为任何值,即使它是动态的,也不应引起任何麻烦。
发布于 2019-04-26 00:07:22
我最终只将start_date
设置为1970年1月1日(在过去太久了),这样Airflow就不会抱怨执行日期早于开始日期。
https://stackoverflow.com/questions/50744778
复制相似问题