Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 使用气流测试与使用DebugExecutor调试气流任务_Debugging_Testing_Airflow - Fatal编程技术网

Debugging 使用气流测试与使用DebugExecutor调试气流任务

Debugging 使用气流测试与使用DebugExecutor调试气流任务,debugging,testing,airflow,Debugging,Testing,Airflow,我正在寻找在IDE中运行/调试任务和DAG的最佳方法。我知道有两种方法可以做到这一点。我可以在调试模式下为特定dag和可选任务运行气流测试命令。另一种方法是使用DebugExecutor并运行特定的dag。我发现这两种方法都需要气流数据库已启动并运行,并且所有池都已配置(可能还有队列)。我的问题是: 这两者的主要区别是什么 气流测试是否在发动机罩下使用调试执行器 是否有一种方法可以运行/调试DAG和任务,而无需运行数据库和创建依赖池和队列 这两者的主要区别是什么 调试执行器运行完整的DAG运行,

我正在寻找在IDE中运行/调试任务和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({})
    
    太好了,谢谢!因此,这种运行任务的方式与我们在单元测试中使用的方式类似。