我想为 dag 失败和成功调用两个不同的函数。为此,我想在 DAG() 函数中使用 on_failure_callback 和 on_success_callback。
根据我的要求,这个回调应该在 dag 级别而不是任务级别。这就是为什么我在声明 dag 变量的同时编写这个回调 insiled DAG() 函数。
但是这个回调函数没有被调用。如果我在任务级别调用相同的功能,那么工作正常。
这是我的代码:
def success():
print("successful")
dag = DAG(dag_id='callback_test',schedule_interval=None,default_args=default_args,on_success_callback=success)
def fun1(**kwargs):
print("function called")
task1 = PythonOperator(
task_id='task1',
provide_context=True,
python_callable=fun1,
dag=dag
)
task1
答案 0 :(得分:0)
然而,我认为它也应该在 DAG 级别工作,根据这个: https://airflow.apache.org/docs/apache-airflow/1.10.10/_api/airflow/models/dag/index.html?highlight=on_failure_callback
对吗?
不过,我无法让它工作:(