我正在 Cloud Composer 上开发 DAG;我的代码被分成一个主 python 文件和一个带有子文件夹的包,它看起来像这样:
my_dag1.py
package1/__init__.py
package1/functions.py
package1/package2/__init__.py
package1/package2/more_functions.py
我更新了其中一个函数package1/functions.py
以获取附加参数(并更新 中的引用my_dag1.py
)。该代码将在我的本地环境中正确运行,并且在运行时我没有收到任何错误
gcloud beta composer environments run my-airflow-environment list_dags --location europe-west1
但是 Web UI 引发了 python 错误
TypeError:my_function() 得到了一个意外的关键字参数“new_argument”
我试图重命名函数并将错误更改为
NameError: name 'my_function' is not defined
我尝试更改 DAG 的名称并将文件上传到压缩和解压缩的 dag 文件夹,但没有任何效果。
只有在我重命名包文件夹后,错误才消失。
我怀疑这个问题与调度程序有关,my_dag1.py
但不是package1/functions.py
。该错误突然出现,因为我在前几周进行了类似的更新。
关于如何在不重构整个代码结构的情况下解决此问题的任何想法?
编辑-1
这是Google Groups 上相关讨论的链接