gpt4 book ai didi

Airflow 计划未更新

转载 作者:行者123 更新时间:2023-12-04 08:20:50 24 4
gpt4 key购买 nike

我创建了一个每周运行一次的 DAG。以下是我尝试过的,并且按预期工作。

from datetime import datetime, timedelta
from airflow import DAG
from airflow.operators.bash_operator import BashOperator

SCHEDULE_INTERVAL = timedelta(weeks=1, seconds=00, minutes=00, hours=00)
default_args = {
'depends_on_past': False,
'retries': 0,
'retry_delay': timedelta(minutes=2),
'wait_for_downstream': True,
'provide_context': True,
'start_date': datetime(2020, 12, 20, hour=00, minute=00, second=00)
}

with DAG("DAG", default_args=default_args, schedule_interval=SCHEDULE_INTERVAL, catchup=True) as dag:
t1 = BashOperator(
task_id='dag_schedule',
bash_command='echo DAG',
dag=dag)
按照计划,它在 27 日运行(即脚本中的 20 日)。由于需求发生变化,现在我将开始日期更新为 30 日(即脚本中的 23 日)而不是 27 日(我的想法是从 30 日开始计划,然后每周开始)。当我更改 DAG 的时间表时,即开始日期从 27 日更改为 30 日。 DAG 没有按照最晚的开始日期进行选择,不知道为什么?当我删除 DAG 时(因为它是测试 DAG,我删除了它,在 prod 中我无法删除它)并使用最新的开始日期(即 30 日)创建了同名的新 D​​AG,它按计划运行。

最佳答案

根据 Airflow 文档
当需要更改开始日期和计划时间间隔时,更改 dag 的名称(又名 dag_id) - 我遵循约定:my_dag_v1、my_dag_v2、my_dag_v3、my_dag_v4 等...
因此,如果我们更改开始日期,我们需要更改 DAG 名称或删除现有 DAG,以便再次使用相同名称重新创建(与先前 DAG 相关的元数据将从元数据中删除)
引用: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=62694614

关于 Airflow 计划未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65506310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com