我有一个类似的问题:
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 1.8.0版。我检查了变更日志,但没有看到任何有关重量和优先级的标签,因此我不认为这是固定的,但我当然可能错了。