是否可以通过“ 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
)
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
)
答案 0 :(得分:0)
能否通过“ on_success_callback”将任务标记为失败? =>否
因为它们是从任务获得状态后的回调。 Prefer Airflow Code here
为满足您的要求,我建议在task1
的上游增加一个新任务,以处理task1
输出的日志。通过此实现,您可以轻松地将其标记为失败或成功。