我正在尝试安排每月的气流工作。我将开始日期保持为
'start_date':datetime(2020,9,23),
是上个月的日期(今天的日期);因为有'start_date + schedule_interval'规则。我将时间表间隔设置为:
schedule_interval="20 9 23 * *"
通过此逻辑作业,应在2020/23/10 9:23 UTC上运行。但是我不知道为什么它没有运行甚至没有创建实例。我做对了所有事情,将开始日期保持在一个月之前,甚至尝试使用catchup = True。但这无济于事。
如果我尝试将日程表保持为每天,Job正在运行;例如:
start_date':airflow.utils.dates.days_ago(1)
和计划间隔为:
schedule_interval="20 9 * * *"
和它的工作文件。今天在世界标准时间9.20完成工作。
注意:我已经手动运行过该作业,因此它具有上次执行日期。可能是问题所在。如果是这样,我该如何解决,还是必须创建新工作。
答案 0 :(得分:1)
更改schedul_interval
可能会导致问题,建议创建一个新的DAG,请参见Common Pitfalls on Apache Airflow Confluence:
当需要更改开始日期和计划间隔时,请更改 dag的名称(又称dag_id)-我遵循约定: my_dag_v1,my_dag_v2,my_dag_v3,my_dag_v4等...
- 更改时间表 时间间隔始终需要更改dag_id,因为先前已运行 TaskInstance将不符合新的计划间隔
- 改变 无需更改schedule_interval的start_date是安全的,但更改为 较早的start_date暂时不会创建任何新的DagRun 在新的start_date和旧的start_date之间,因此任务不会 自动回填到新日期。如果您手动创建 DagRun,任务将被安排,只要DagRun日期在 任务start_date和dag start_date。