Вы не можете сделать это вручную.Если вы установили BranchPythonOperator, вы можете пропускать задачи до тех пор, пока задача не будет запущена, в соответствии с условиями, установленными в BranchPythonOperator
То же, что 1.
да.Вы можете очистить задачи вверх по течению до корня или вниз по течению до всех выходов из узла.
Вы можете сделать что-то вроде:
Task A >> Task B >> Task C >> Task D
Task C >> Task E
Где C
- этооператор филиалаНапример:
from datetime import date
def branch_func():
if date.today().weekday() == 0:
return 'task id of D'
else:
return 'task id of E'
Task_C = BranchPythonOperator(
task_id='branch_operation',
python_callable=branch_func,
dag=dag)
Это будет последовательность задач в понедельник:
Task A >> Task B >> Task C >> Task D
Это будет последовательность задач в оставшуюся часть недели:
Task A >> Task B >> Task C >> Task E