如何与客户操作员验证气流DAG?

2024-03-28 18:47:25 发布

您现在位置:Python中文网/ 问答频道 /正文

airflow docs建议对DAG文件进行基本的健全性检查来解释它。即:

$ python ~/path/to/my/dag.py

我发现这个很有用。但是,现在我在$AIRFLOW_HOME/plugins下创建了一个插件MordorOperator

^{pr2}$

我可以导入插件并在示例DAG中看到它的工作情况:

from airflow import DAG
from airflow.operators import MordorOperator
from datetime import datetime


dag = DAG('mordor_dag', description='DAG with a single task', start_date=datetime.today(), catchup=False)

hello_operator = MordorOperator(job="testing", task_id='run_single_task', dag=dag)

然而,当我试图解释这个文件时,我怀疑我不应该得到失败,因为插件成功运行。我的怀疑是,这是因为在运行时有一些动态代码生成在DAG被自己解释时不可用。我还发现PyCharm在导入插件时无法执行任何自动完成。在

(venv)  3:54PM /Users/paymahn/solvvy/scheduler mordor.operator ✱
 ❮❮❮ python dags/mordor_test.py
section/key [core/airflow-home] not found in config
Traceback (most recent call last):
  File "dags/mordor_test.py", line 2, in 
    from airflow.operators import MordorOperator
ImportError: cannot import name 'MordorOperator'

如何对使用插件的DAG进行健全性测试?是否可以让PyCharm为自定义运算符提供自动完成功能?在


Tags: 文件frompyimport插件taskdatetimeairflow
1条回答
网友
1楼 · 发布于 2024-03-28 18:47:25

我在docker容器中运行气流,并有一个脚本作为容器入口点运行。当我运行测试时,plugins文件夹对我的容器不可用。我不得不在容器中添加一个符号链接作为设置脚本的一部分。我的问题的解决方案对我来说是非常具体的,如果有人无意中发现了这一点,除了:确保你的插件文件夹是正确可用的,我没有一个好的答案。在

相关问题 更多 >