Порядок выполнения целевой группы воздушного потокаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Порядок выполнения целевой группы воздушного потока

Сообщение Anonymous »

Я пытаюсь понять, когда будут выполняться задачи воздушного потока. Я не понимаю, почему Task_3a запускается сразу при запуске этого примера.
Как мне заставить этот пример dag запускаться в таком порядке:
  • Задача 1
  • Задача 2, если дано указание выполнить
  • Задача 3
  • Задача 3a и Задача 3б (отлично, если они выполняются параллельно)
  • Задача 4
  • Задача 5
import logging
from airflow.decorators import task, dag, task_group
from airflow.utils.dates import days_ago

@dag(
dag_id='taskflow_conditional_dag',
start_date=days_ago(1),
schedule_interval=None,
catchup=False,
)
def my_dag():

logger = logging.getLogger("airflow.task")

@task
def task_1():
logger.info("Task 1 running")
return "run_task_"

@task.branch
def branching_task(data):
if data == "run_task_2":
return "task_2"
return "task_3"

@task
def task_2():
# Task 2 logic here
logger.info("Task 2 running")
pass

@task(
trigger_rule="none_failed"
)
def task_3():
logger.info("Task 3 running")
pass

@task(
trigger_rule="none_failed"
)
def task_4():
logger.info("Task 4 running")
pass

@task_group()
def task_after_3_before_4_group():

@task
def task_3a():
logger.info("Task 3a running.")
pass

@task
def task_3b():
logger.info("Task 3b running.")
pass

return task_3a() >> task_3b()

@task(
trigger_rule="none_failed"
)
def task_5():
logger.info("Task 5 running")
pass

data = task_1()
decision = branching_task(data)

task_2_result = task_2()
task_3_result = task_3()
task_4_result = task_4()
task_5_results = task_5()

data >> decision
decision >> task_2_result >> task_3_result >> task_after_3_before_4_group() >> task_4_result >> task_5_results

dag = my_dag()


Подробнее здесь: https://stackoverflow.com/questions/789 ... tion-order
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»