Debugging 使用气流测试与使用DebugExecutor调试气流任务
我正在寻找在IDE中运行/调试任务和DAG的最佳方法。我知道有两种方法可以做到这一点。我可以在调试模式下为特定dag和可选任务运行Debugging 使用气流测试与使用DebugExecutor调试气流任务,debugging,testing,airflow,Debugging,Testing,Airflow,我正在寻找在IDE中运行/调试任务和DAG的最佳方法。我知道有两种方法可以做到这一点。我可以在调试模式下为特定dag和可选任务运行气流测试命令。另一种方法是使用DebugExecutor并运行特定的dag。我发现这两种方法都需要气流数据库已启动并运行,并且所有池都已配置(可能还有队列)。我的问题是: 这两者的主要区别是什么 气流测试是否在发动机罩下使用调试执行器 是否有一种方法可以运行/调试DAG和任务,而无需运行数据库和创建依赖池和队列 这两者的主要区别是什么 调试执行器运行完整的DAG运行,
气流测试命令。另一种方法是使用DebugExecutor
并运行特定的dag。我发现这两种方法都需要气流数据库已启动并运行,并且所有池都已配置(可能还有队列)。我的问题是:
这两者的主要区别是什么
气流测试
是否在发动机罩下使用调试执行器
是否有一种方法可以运行/调试DAG和任务,而无需运行数据库和创建依赖池和队列
这两者的主要区别是什么
调试执行器运行完整的DAG运行,以便您可以测试触发器规则。
气流测试
命令只运行一个任务
这在气流2.0中更加清晰。我们有单独的命令:
气流DAG测试
-使用调试执行器
启动一次DAG运行
气流任务测试
-启动一个任务
气流测试是否在发动机罩下使用DebugExecutor
否。如果使用DebugExecutor
,则需要运行完整计划程序。如果使用气流任务
命令,则仅执行工作人员正在执行的代码
是否有一种方法可以运行/调试DAG和任务,而无需运行数据库和创建依赖池和队列
您可以使用DagBag
加载DAG,然后调用任务的execute方法
来自afflow.model.dagbag导入dagbag
dag_file_path=“/home/test user/dags/dag file.py”
dagbag=dagbag(dag\u文件夹=dag\u文件路径)
dagbag.dags['test-dag-id'].task_dict['task-id'].execute({})
太好了,谢谢!因此,这种运行任务的方式与我们在单元测试中使用的方式类似。