我想知道dag的状态是正在运行还是失败还是成功。我通过CL参数气流触发器触发dag,在执行作业后,我想知道运行状态。我找不到任何办法。
我尝试了dag_state气流,但没有响应。如果一天要运行多个以上命令以通过命令行参数或python代码获取最新运行状态,该怎么办。
答案 0 :(得分:2)
您可以在CLI上使用list_dag_runs命令来列出给定dag ID的dag运行。返回的信息包括每次运行的状态。
您还可以通过几种不同的方式通过python代码检索信息。我过去使用的一种方法是'find' method in airflow.models.dagrun.DagRun
关于如何通过DagRun.find()获取dag_runs状态的python3示例:
dag_id = 'fake_dag_id'
dag_runs = DagRun.find(dag_id=dag_id)
for dag_run in dag_runs:
print(dag_run.state)
答案 1 :(得分:0)
您可以使用以下CL
airflow dag_state dag_id execution_date
示例:
airflow dag_state test_dag_id 2019-11-08T18:36:39.628099+00:00
在上面的示例中:
test_dag_id is the actual dag
2019-11-08T18:36:39.628099+00:00 is the execution date. You can get this from airflow UI for your run.
其他选项是使用airflow rest api插件。这是更好的选择。您可以触发DAG,还可以检查dag的状态。