2

我如何配置气流(mwaa),以便在部署 dag 时每天同时(太平洋标准时间早上 6 点)触发?

我尝试了对我有意义的方法:

  1. 将 schedule_interval 设置为0 6 * * *.
  2. 将开始日期设置为:
now = datetime.utcnow()
now = now.replace(tzinfo=pendulum.timezone('America/Los_Angeles'))
previous_five_am = now.replace(hour = 5, minute = 0, second = 0, microsecond = 0)
start_date = previous_five_am

似乎每当我通过将 start_date 设置为前一天早上 5 点进行部署时,无论我什么时候部署 dag 或进行气流更新,它总是会在下一个早上 6 点触发

4

1 回答 1

2

您的困惑可能是因为您希望 Airflow 安排像 cronjob 这样的 DAG,而实际上并非如此。第一个 DAG 运行是根据start_dateDAG 中任务的最小值创建的。后续 DAG 运行由调度程序进程根据您的 DAGschedule_interval顺序创建。间隔结束时的气流计划任务(请参阅文档)您可以查看此答案以获取示例。

至于您的示例代码 - 永远不要将您设置start_date为动态的。这是一种不好的做法,有时会导致 DAG 永远不会被执行,因为now()总是移动到now() + interval可能永远无法到达,请参阅 Airflow FAQ

于 2021-02-20T06:20:12.230 回答