Airflow,获取当前 dag 运行中任务的当前状态

IYY*_*IYY 4 airflow

我有一个任务,通过它我可以写入数据库,哪些任务已成功处理。我正在尝试从我的 python 操作员那里获取信息TaskInstance.current_status()。但是,我似乎找不到成功获取 TaskInstance 的方法。如何获取任务实例并传递给TaskInstance()?我试过了task_id,但似乎不能是字符串

IYY*_*IYY 9

看起来相当简单:

 from airflow.models import TaskInstance
 dag_instance = kwargs['dag']
 operator_instance = dag_instance.get_task("task_id")
 task_status = TaskInstance(operator_instance, execution_date).current_state()      
Run Code Online (Sandbox Code Playgroud)

  • 你从哪里得到“kwargs”? (4认同)
  • @PV 来自绑定到 PythonOperator 的 python 函数,如果操作符具有 `provide_context=True`,该函数将接受一个 **kwargs 参数,其中包含该任务的额外上下文信息。另外,您可以使用 op_kwargs 参数提供额外的上下文信息 (2认同)