首页 > 解决方案 > 如何从成功回调中将气流任务的状态标记为失败?

问题描述

任务是否可以从其“on_success_callback”标记为失败

用例:

任务执行并记录一些信息。

我在任务的“on_success_callback”中处理这些日志,并根据日志,我想将任务的状态标记为失败。

我尝试在“on_success_callback”中引发异常,但它只是记录“on_success_callback”失败并将任务标记为成功。

这是我的气流任务的代码,
dag_utils 是一个 python 文件,它提供了 task_callback 的实现,我在其中处理日志:

airflow_task = BashOperator(
    task_id='task1',
    bash_command = dag_utils.make_full_command(cmd),
    trigger_rule=TriggerRule.ALL_SUCCESS,
    on_failure_callback = dag_utils.task_callback,
    on_success_callback = dag_utils.task_callback,
    dag=dag
)

标签: pythonairflow

解决方案


可以从其“on_success_callback”中将任务标记为失败吗?=> 没有

因为它们是从任务收到状态后的回调。在此处首选气流代码

为了满足您的要求,我建议您在上游有一个新任务task1来处理task1输出中的日志。使用此实现,您可以轻松地将其标记为失败或成功。


推荐阅读