DAG 运行时 DAG/Operator 发生变化

par*_*lov 7 airflow

  1. 如果 DAG 在 DAG 运行时发生更改(特别是动态 DAG),会发生什么情况
  2. 如果在某些 DAG 运行期间更改自定义运算符的代码会发生什么

par*_*lov 6

因此,经过一番调查后,我得出结论,DAG 更改将在当前 DAG 运行中可见,并且默认情况下不会重新加载运算符(以及所有其他插件)。

  1. DAG 在 DAG 运行期间发生变化

    • 如果在 DAG 运行调度程序时删除任务,请注意,在记录当前行时将该任务的状态设置为“已删除”:

    State of this instance has been externally set to removed. Taking the poison pill.

    • 如果您添加新任务,它也将可见并执行。即使是已经完成的任务的上游任务也会被执行

    • 如果任务发生更改,仅当任务尚未开始执行或完成时,更改才会合并到当前 DAG 运行中

  2. 默认情况下,所有插件(包括运算符)都不会自动刷新。您可以重新启动 Airflow,也可以将文件部分reload_on_plugin_change中的属性设置为[webserver]airflow.cfgTrue