我在sql_test.py
中写错了,然后运行python sql_test.py
,错误是“没有名为xxx的模块”,并且在web-ui中显示红色错误-损坏的DAG。
然后运行airflow list_dags
,再次发生相同的错误。这很奇怪,我不知道发生了什么。
我尝试运行airflow delete_dags sql_test
,但没有这样的ID。
我怎么能:
sql_test
中提取list_dags
答案 0 :(得分:0)
您的dag定义文件中存在一些语法错误,导致解析DAG失败。当Airflow无法解析DAG时,一些功能将被破坏(例如.first
)
当然,删除有问题的dag-definition文件可以解决该问题,但这不是解决方案。因此,您可以通过以下方式了解问题所在并加以解决
从linux shell转到Airflow's logs folder
class MyBanana {
}
let bananas = [MyBanana?]()
let first: MyBanana? = bananas.first
运行tree
command来查看目录结构
list_dags
cd $AIRFLOW_HOME/logs/scheduler/latest/
这将为您提供Airflow在尝试解析损坏的dag文件时抛出的堆栈跟踪。希望可以帮助您诊断问题并进行修补。
您的dag定义文件一旦修复
tree -I "__init__.py|__pycache__|*.pyc"
消息将从用户界面中消失tail -n 25 /path/to/my/broken-dag.py.log
命令也将开始工作答案 1 :(得分:0)
如果您不想修复DAG并忽略它,则可以通过在.airflowignore文件中指定DAG的基础文件来删除不需要的DAG。