Как установить равный приоритету для задачи, которая зависит от другой задачи - PullRequest
0 голосов
/ 21 мая 2019

У меня 8 заданий.Каждый набор представляет собой серию задач: задача1 >> задача2 >> задача3.задача 3 зависит от задачи 2, так как задача 2 зависит от задачи 1.

Моя проблема заключается в том, что задача 2 никогда не запускается, пока все задачи 1 не будут завершены.Таким образом, чтобы запустить set1.task2, он должен сначала запустить set8.task1.

В моем первоначальном исследовании речь идет о priority_weight, который может быть включен в default_args для DAG.Я узнал, что задание 1 будет иметь более высокий приоритет по сравнению с последующим.

Есть ли способ, при котором все веса приоритетов могут быть одинаковыми.Так что set1.task2 уже может запускаться независимо от set2,3 и т. Д., Поскольку он зависит только от set1.task1.

Спасибо!

1 Ответ

1 голос
/ 22 мая 2019

Установка weight_rule на «восходящий» или «абсолютный» должна помочь.Это из BaseOperator строки документации:

:param weight_rule: weighting method used for the effective total
    priority weight of the task. Options are:
    ``{ downstream | upstream | absolute }`` default is ``downstream``
    When set to ``downstream`` the effective weight of the task is the
    aggregate sum of all downstream descendants. As a result, upstream
    tasks will have higher weight and will be scheduled more aggressively
    when using positive weight values. This is useful when you have
    multiple dag run instances and desire to have all upstream tasks to
    complete for all runs before each dag can continue processing
    downstream tasks. When set to ``upstream`` the effective weight is the
    aggregate sum of all upstream ancestors. This is the opposite where
    downtream tasks have higher weight and will be scheduled more
    aggressively when using positive weight values. This is useful when you
    have multiple dag run instances and prefer to have each dag complete
    before starting upstream tasks of other dags.  When set to
    ``absolute``, the effective weight is the exact ``priority_weight``
    specified without additional weighting. You may want to do this when
    you know exactly what priority weight each task should have.
    Additionally, when set to ``absolute``, there is bonus effect of
    significantly speeding up the task creation process as for very large
    DAGS. Options can be set as string or using the constants defined in
    the static class ``airflow.utils.WeightRule``

Ссылка: https://github.com/apache/airflow/blob/master/airflow/models/baseoperator.py#L129-L150

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