【问题标题】:Downstream DAG tasks don't run when schedule_interval=None当 schedule_interval=None 时,下游 DAG 任务不运行
【发布时间】:2020-05-19 02:44:47
【问题描述】:

我配置了一个 DAG,其 schedule_interval 参数设置为 None。当我使用 Airflow UI 中的 Trigger Dag 按钮手动触发 DAG 时,它成功运行了第一个任务,但下游任务从未启动;它们的状态都设置为 null

airflow_scheduler 正在运行,当我将 schedule_interval arg 设置为 None 以外的其他值时,一切运行正常。 start_date 设置为几个月前的日期,并且 DAG 没有暂停。

我猜测设置为 None 的计划会干扰下游任务的启动,但我在 Airflow 文档中没有看到任何与此特定场景相关的内容。我是否缺少允许这些下游任务运行的参数或设置?

【问题讨论】:

    标签: airflow airflow-scheduler


    【解决方案1】:

    您似乎在尝试不同的计划间隔,同时保持dag_id 不变。在Common Pitfalls 中明确提到:

    • 当需要更改您的 start_date 和计划间隔时,更改 dag 的名称(a.k.a. dag_id) - 我遵循约定:my_dag_v1、my_dag_v2、my_dag_v3、my_dag_v4 等...
      • 更改调度间隔总是需要更改 dag_id,因为之前运行的 TaskInstances 不会与新的调度间隔对齐

    因此,为确保您以新的计划间隔重新开始,请按照以下步骤操作:

    1. 停止调度程序和网络服务器。
    2. 将计划间隔更改为 None dag_id 更改为某个新 ID。
    3. 启动调度程序和网络服务器。
    4. 尝试手动触发 DAG。

    【讨论】:

    • 我刚刚尝试了所有这些步骤,但我仍然看到相同的行为;第一项任务成功完成,但其他任务均未启动。奇数。
    • @knoll 不看实际代码很难说。
    • @knoll 你尝试过更改 DAG id 吗?
    • @Binoy,是的。如常见陷阱文档中所述,我将 dag_id 迭代了一个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多