Задачи появляются, даже когда я не даю вверх или вниз по потоку воздуха - PullRequest
1 голос
/ 06 февраля 2020

Я не уверен, должно ли это быть так или нет, но допустим, что я делаю даг с 4 задачами, и я ставлю только 3 задачи в поток, так почему 4-е задание также появляется и работает ??

EX:

default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime(2018, 1, 1),
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
}

dag = DAG('example_dag_one',
            schedule_interval='@daily',
            catchup=False,
            default_args=default_args)

t1 = BashOperator(
    task_id='start',
    bash_command='stuff',
    dag=dag)

t2 = BashOperator(
    task_id='test',
    bash_command='stuff',
    dag=dag)

    t3 = BashOperator(
        task_id='stop',
        bash_command='more stuff',
        dag=dag)
t4 = BashOperator(
        task_id='test2',
        bash_command='more stuff',
        dag=dag)

t1>>t2>>t3

, поэтому я ожидаю, что в моем журнале появятся только 3 задачи, но по какой-то причине все 4 отображаются. почему показывается t4?

enter image description here

1 Ответ

0 голосов
/ 06 февраля 2020

Операторы имеют trigger_rule, который определяет, как запускается задача. Правило all_success по умолчанию диктует, что задача должна быть запущена, когда все зависимые задачи вышестоящего уровня достигли состояния успеха. Если вы не укажете upstream, тогда задача будет запущена, когда вы активируете dag

После того, как вы создали задачу и упомянули даг, она станет частью этого даг. Настройка потока «вниз / вниз» предназначена только для установления взаимосвязи между задачами, задача которой будет запускаться, будет определяться задачей восходящего потока и правилом запуска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...