气流中的小跑

问题描述 投票:0回答:2

我的爸爸

{
    'owner': 'airflow',
    'start_date': datetime(2020, 1, 10, 7, 1, 00),
    'depends_on_past': False,
    'catchup_by_default': False,
}

dag = DAG('Hourly_test_2', schedule_interval='0 * * * *', default_args=default_args)

它每小时运行一次,但是在树状视图图中显示少了1小时。树形图中的时间示例显示的是上午8点,但实际时间是上午9点。如何同时同步两次?

作业应每小时运行,小时应与树视图中的当前小时相匹配。

enter image description here

airflow airflow-scheduler
2个回答
0
投票

这不是时间同步问题,这是由于start_date和schedule_interval所致,默认情况下,气流会计算从start_date到当前日期应执行了多少次,并以未执行的任何间隔启动DAG Run检查here

在您的情况下,开始日期是7:01,根据您的schedule_interval,执行间隔是8:00、9:00、10:00 ...

这就是为什么在8:00运行DAG的原因,默认情况下,可以通过在dag定义中设置参数catchup = False来禁用此行为。

dag = DAG('Hourly_test_2', catchup=False, schedule_interval='0 * * * *', default_args=default_args)

0
投票

这是气流调度的方式。检查调度程序文档的此部分。

[请注意,如果您以一天的schedule_interval运行DAG,则运行加盖了2016年1月1日的标签将在2016年1月1日T23:59之后立即触发。在换句话说,作业实例在其涵盖的期间结束。

让我们重复一遍,计划程序会以一个schedule_interval的方式运行您的工作在开始日期之后,在时间段结束时。

参考:https://airflow.apache.org/docs/stable/scheduler.html

© www.soinside.com 2019 - 2024. All rights reserved.