提高 Airflow DAG 的执行优先级?

Increase priority of execution for an Airflow DAG?

Airflow 有一个排队机制来执行排队的任务,它在所有 dag 上执行此操作。我有一个特定的 DAG,它具有高优先级,这意味着如果有来自该 DAG 的任务被调度并排队到 运行,我希望它成为高优先级的进程。有没有办法指示气流这样做?

Airflow 在调度时会考虑任务的优先级,因此您可以使用 priority weight 来提高特定任务的排名。请注意,这不是 DAG 参数,而是 Operator 参数。如果您希望将其应用于特定 DAG 中的所有任务,请使用 default_args.

示例:

from airflow.operators.bash import BashOperator
from airflow.utils.weight_rule import WeightRule
BashOperator(
    task_id="my_task",
    bash_command="echo 1",
    weight_rule=WeightRule.ABSOLUTE,
    priority_weight=10000,
)

您可以根据需要更改 weight_rulepriority_weight