У меня есть черта, похожая на эту:
with DAG(..., concurrency=3) as dag:
important = [ op1, op2, op3, ... ]
less_important=[ opA, opB, opC, ... ]
important >> DummyOperator('Important', priority_weight=1000)
less_important >> DummyOperator('LessImportant', priority_weight=1)
Идея состоит в том, чтобы использовать weight rule
по умолчанию, равное WeightRule.DOWNSTREAM
, чтобы гарантировать, что задачи important
запланированы раньше, чем задачи less_important
.
Проверка подробностей экземпляра задачи Я вижу, что приоритеты для задач important
и less_important
рассчитаны правильно (1001 и 2, соответственно).
Однако последний запуск сразу запланировал одну из less_important
задач, рядом с двумя из important
.
Я что-то пропускаю?
О, я использую Airflow v. 1.8.0. Я проверил журнал изменений и не вижу никаких заявок относительно веса и приоритета, поэтому я не думаю, что это что-то исправленное, но я, конечно, могу ошибаться.