【发布时间】:2018-12-09 22:04:50
【问题描述】:
第一个带有0 1 * * * 的 Dag 运行没有任何问题。结束 DAG 0 10 1 * *
没有跑。
当我这样做时:
import datetime
print datetime.datetime.now()
我明白了:
2018-07-01 12:14:15.632812
所以我不明白为什么没有安排这个 DAG。我知道在 10:00 运行并不是强制性的,但统计数据应该是 Running。
根据第一个任务的“最新运行”是2018-06-30 01:00,我怀疑我实际上并不了解 Airflow 时钟。从我的角度来看,最后一次运行是在 2018-07-01 01:00 因为它是今天早上而不是昨天运行的。
编辑: 我在documntation看到了这一段:
"请注意,如果您在一天的 schedule_interval 上运行 DAG,则标记为 2016-01-01 的运行将在 2016-01-01T23:59 之后不久触发。换句话说,作业实例在它涵盖的时期已经结束。”
所以我想知道.. 我应该把所有事情都安排在我想要的实际日期前一天吗?
所以如果我真的想在0 10 1 * * 运行一些东西,我应该把它安排到0 10 30 * * 吗?换句话说,如果我想在每个月的 1 日 10:00 运行某些东西,我应该将它安排到每个月的最后一天的 10:00 吗?
其中的逻辑在哪里?这很难理解和遵循。
它变得最糟糕,根据this 没有办法告诉调度程序这个输入。我该怎么办?!
【问题讨论】:
-
你的开始日期是什么?
标签: airflow