|
88 | 88 | from airflow.models.taskreschedule import TaskReschedule |
89 | 89 | from airflow.models.xcom import XCOM_RETURN_KEY, LazyXComSelectSequence, XComModel |
90 | 90 | from airflow.settings import task_instance_mutation_hook |
| 91 | +from airflow.task.priority_strategy import validate_and_load_priority_weight_strategy |
91 | 92 | from airflow.ti_deps.dep_context import DepContext |
92 | 93 | from airflow.ti_deps.dependencies_deps import REQUEUEABLE_DEPS, RUNNING_DEPS |
93 | 94 | from airflow.ti_deps.deps.ready_to_reschedule import ReadyToRescheduleDep |
@@ -693,7 +694,10 @@ def insert_mapping( |
693 | 694 |
|
694 | 695 | :meta private: |
695 | 696 | """ |
696 | | - priority_weight = task.weight_rule.get_weight( |
| 697 | + weight_rule = task.weight_rule |
| 698 | + if not hasattr(weight_rule, "get_weight"): |
| 699 | + weight_rule = validate_and_load_priority_weight_strategy(weight_rule) |
| 700 | + priority_weight = weight_rule.get_weight( |
697 | 701 | TaskInstance(task=task, run_id=run_id, map_index=map_index, dag_version_id=dag_version_id) |
698 | 702 | ) |
699 | 703 | context_carrier = new_task_run_carrier(dag_run.context_carrier) |
@@ -874,7 +878,10 @@ def refresh_from_task(self, task: Operator, pool_override: str | None = None) -> |
874 | 878 | self.queue = task.queue |
875 | 879 | self.pool = pool_override or task.pool |
876 | 880 | self.pool_slots = task.pool_slots |
877 | | - self.priority_weight = self.task.weight_rule.get_weight(self) |
| 881 | + weight_rule = self.task.weight_rule |
| 882 | + if not hasattr(weight_rule, "get_weight"): |
| 883 | + weight_rule = validate_and_load_priority_weight_strategy(weight_rule) |
| 884 | + self.priority_weight = weight_rule.get_weight(self) |
878 | 885 | self.run_as_user = task.run_as_user |
879 | 886 | # Do not set max_tries to task.retries here because max_tries is a cumulative |
880 | 887 | # value that needs to be stored in the db. |
|
0 commit comments