我正在学习一个数据工程项目的Airflow,并且我设置了一个DAG来在线检索csv文件。我正在测试schedule_interval,最初我将其设置为30分钟。
我在22:17启动了气流调度器,并期望DAG至少在22:47执行。然而,DAG几乎每秒都在运行,我从日志中看到执行日期是几个小时前。
这是不是因为UTC和我当地时间的时差?民建联是想追上时差吗?
发布于 2021-03-06 12:46:31
正在回填您的DAG。Airflow将尝试从启动时赶上您的当前时间。
例如,如果您启动DAG的确切时间是3月6日上午10:00,并且DAG的执行日期是3月6日上午6:00(假设相同时区),计划间隔为30分钟,则DAG将立即运行,直到它“赶上”到上午10:00
也就是说,它将一个接一个地运行(6:00AM - 10:00AM = 4 hours; 4 hrs/30 mins = 8) 8次,直到它到达当前时刻。
这是因为世界时和我当地时间的时差吗?民建联是想追上时差吗?
看起来是这样的,如果DAG的执行开始日期是您启动DAG的任何时间。
发布于 2021-03-08 23:37:43
这将是非常有用的。如果您还可以粘贴DAG,或者至少可以粘贴DAG配置对象。
确保设置了标志catchup=False,这样就不会发生回填。默认值为True。如果您没有设置catchup=False调度程序,假设它需要回填,因此它每30秒运行一次。
请参见下面的示例
dag = DAG(
dag_id='my_test_dag'
, default_args=default_args
, schedule_interval='1 * * * *'
, start_date=datetime(2020, 9, 22, tzinfo=local_tz)
, catchup=False
)https://stackoverflow.com/questions/66502362
复制相似问题