t1 = BashOperator(
task_id='task_1',
bash_command="Rscript Failure.R",
dag=dag)
t2 = BashOperator(
task_id='task_2',
bash_command="Rscript Success.R",
dag=dag)
t1fail = BashOperator(
trigger_rule=TriggerRule.ONE_FAILED,
task_id='task_1fail',
bash_command="echo task1 failed",
dag=dag)
t2fail = BashOperator(
trigger_rule=TriggerRule.ONE_FAILED,
task_id='task_2fail',
bash_command="echo task2 failed",
dag=dag)
tSuccess = BashOperator(
task_id='t_Success',
bash_command="echo task1 failed",
dag=dag)
t2.set_upstream(t1)
tSuccess.set_upstream(t1, t2)
t2fail.set_upstream(t2)
t1fail.set_upstream(t1)
Когда задача t1 не выполняется, идеальной ситуацией является вызов t1fail.
Но что я получаю, так это то, что задача t2fail также вызывается, поскольку триггер установлен на один сбой. Есть ли способ, которым я могу заставить задачу t2fail запускаться только тогда, когда задача t2 запускается и не удается.