我想直接查询apache airflow数据库以获取失败任务的报告,但我正在努力在数据库中进行相应的连接。
我想要的是一个由以下列组成的输出
dag_run.dag_id
dag_run.run_id
dag_run.state
dag_run.conf
task_instance.task_id
task_id.state
基本上是所有dag_runs的sql转储及其任务的状态;类似于' Graph'查看但是所有run_ids。
谢谢!
答案 0 :(得分:3)
以下是有关失败任务的信息查询。
SELECT dr.dag_id, dr.run_id, dr.state, dr.conf, ti.task_id, ti.state
FROM dag_run as dr
INNER JOIN
(
SELECT dag_id, task_id, state, execution_date
FROM task_instance
WHERE state = 'failed'
) as ti
ON dr.dag_id = ti.dag_id AND dr.execution_date = ti.execution_date
我不知道你想要什么,但你可以使用DAG的on_failure_callback
参数来设置它在失败时做某事。我建议使用这种方法。