首页 > 解决方案 > 在 Airflow 中每小时运行 dag

问题描述

我的达格

{
    '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 点。如何同步两次?

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

在此处输入图像描述

标签: airflowairflow-scheduler

解决方案


这不是时间同步问题,这是由于 start_date 和 schedule_interval,airflow 默认计算从 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)

推荐阅读