气流调度器误解

时间:2019-08-07 15:49:23

标签: airflow

我是Airflow的新手。

我的目标是从现在开始1个小时每天进行一次dag。

我真的误会了气流时间表的“间隔结束调用”规则。

从文档[[Airflow Docs]] [1]

  

请注意,如果您以一天的schedule_interval运行DAG,则在2016-01-01T23:59之后不久将触发标记为2016-01-01的运行。换句话说,作业实例所涵盖的时间段结束后便开始启动。

我将schedule_interval设置如下:

schedule_interval="00 15 * * *"

和开始日期,如下所示: start_date=datetime(year=2019, month=8, day=7)

我的假设是,如果现在现在是世界标准时间(UTC)时间14:00:00 PM,今天的日期是07-08-2019,那么我的dag将完全在一小时内执行。 但是,我的动作根本没有开始。

2 个答案:

答案 0 :(得分:1)

因此,整个页面都在讨论未计划的气流作业。 https://airflow.apache.org/faq.html

这里要注意的关键是:

  

Airflow计划程序会在start_date +之后不久触发任务   scheduler_interval被传递。

据我了解,您想触发任务start_date=datetime(year=2019, month=8, day=7) at 15:00 UTC dailyschedule_interval="00 15 * * *"表示您将每天在世界标准时间15:00运行任务。根据文档,调度程序会在 start_date + scheduler_interval之后触发您的任务,因此直到第二天August 8th 2019 15:00:00 UTC气流才会触发它。或者,您可以将日期更改为第六天。通过ETL方式可能更容易理解:您只能在数据经过给定时间后再对其进行处理。因此,August 7th 2019 15:00:00 UTC是您的起点,您需要等到August 8th 2019 15:00:00 UTC才能在给定时间内运行任务。

另外,请注意气流具有execution_data和start_date,您可以找到更多here

答案 1 :(得分:1)

schedule_interval =“ 00 15 * * *” start_date = 07-08-2019

第一轮比赛将于08-08-2019 3:00 如果您在2019年7月8日3:00之前创建了这个dag