Skip to content

Commit ac46902

Browse files
LipuFeiLipu Fei
andauthored
Move TaskInstanceKey to a separate file (#31033)
closes: #30988 Fixes a circular import of DagRun -> TaskInstance -> Sentry -> KubernetesExexcutor -> kubernetes_helper_functions.py (*) -> TaskInstanceKey. Moving TaskInstanceKey out to a separate file will break the cycle from kubernetes_helper_functions.py -> taskinstances.py Co-authored-by: Lipu Fei <lipu.fei@kpn.com>
1 parent 51603ef commit ac46902

File tree

29 files changed

+103
-60
lines changed

29 files changed

+103
-60
lines changed

airflow/executors/base_executor.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@
3838
if TYPE_CHECKING:
3939
from airflow.callbacks.base_callback_sink import BaseCallbackSink
4040
from airflow.callbacks.callback_requests import CallbackRequest
41-
from airflow.models.taskinstance import TaskInstance, TaskInstanceKey
41+
from airflow.models.taskinstance import TaskInstance
42+
from airflow.models.taskinstancekey import TaskInstanceKey
4243

4344
# Command to execute - list of strings
4445
# the first element is always "airflow".

airflow/executors/celery_executor.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@
5656

5757
if TYPE_CHECKING:
5858
from airflow.executors.base_executor import CommandType, EventBufferValueType, TaskTuple
59-
from airflow.models.taskinstance import TaskInstance, TaskInstanceKey
59+
from airflow.models.taskinstance import TaskInstance
60+
from airflow.models.taskinstancekey import TaskInstanceKey
6061

6162
# Task instance that is sent over Celery queues
6263
# TaskInstanceKey, Command, queue_name, CallableTask

airflow/executors/celery_kubernetes_executor.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828

2929
if TYPE_CHECKING:
3030
from airflow.executors.base_executor import CommandType, EventBufferValueType, QueuedTaskInstanceType
31-
from airflow.models.taskinstance import SimpleTaskInstance, TaskInstance, TaskInstanceKey
31+
from airflow.models.taskinstance import SimpleTaskInstance, TaskInstance
32+
from airflow.models.taskinstancekey import TaskInstanceKey
3233

3334

3435
class CeleryKubernetesExecutor(LoggingMixin):

airflow/executors/dask_executor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
if TYPE_CHECKING:
3838
from airflow.executors.base_executor import CommandType
39-
from airflow.models.taskinstance import TaskInstanceKey
39+
from airflow.models.taskinstancekey import TaskInstanceKey
4040

4141

4242
# queue="default" is a special case since this is the base config default queue name,

airflow/executors/debug_executor.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
from airflow.utils.state import State
3333

3434
if TYPE_CHECKING:
35-
from airflow.models.taskinstance import TaskInstance, TaskInstanceKey
35+
from airflow.models.taskinstance import TaskInstance
36+
from airflow.models.taskinstancekey import TaskInstanceKey
3637

3738

3839
class DebugExecutor(BaseExecutor):

airflow/executors/kubernetes_executor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454

5555
if TYPE_CHECKING:
5656
from airflow.executors.base_executor import CommandType
57-
from airflow.models.taskinstance import TaskInstanceKey
57+
from airflow.models.taskinstancekey import TaskInstanceKey
5858

5959
# TaskInstance key, command, configuration, pod_template_file
6060
KubernetesJobType = Tuple[TaskInstanceKey, CommandType, Any, Optional[str]]

airflow/executors/local_executor.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@
4343

4444
if TYPE_CHECKING:
4545
from airflow.executors.base_executor import CommandType
46-
from airflow.models.taskinstance import TaskInstanceKey, TaskInstanceStateType
46+
from airflow.models.taskinstance import TaskInstanceStateType
47+
from airflow.models.taskinstancekey import TaskInstanceKey
4748

4849
# This is a work to be executed by a worker.
4950
# It can Key and Command - but it can also be None, None which is actually a

airflow/executors/sequential_executor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
if TYPE_CHECKING:
3434
from airflow.executors.base_executor import CommandType
35-
from airflow.models.taskinstance import TaskInstanceKey
35+
from airflow.models.taskinstancekey import TaskInstanceKey
3636

3737

3838
class SequentialExecutor(BaseExecutor):

airflow/kubernetes/kubernetes_helper_functions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import pendulum
2424
from slugify import slugify
2525

26-
from airflow.models.taskinstance import TaskInstanceKey
26+
from airflow.models.taskinstancekey import TaskInstanceKey
2727

2828
log = logging.getLogger(__name__)
2929

airflow/models/baseoperator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@
9898
import jinja2 # Slow import.
9999

100100
from airflow.models.dag import DAG
101-
from airflow.models.taskinstance import TaskInstanceKey
101+
from airflow.models.taskinstancekey import TaskInstanceKey
102102
from airflow.models.xcom_arg import XComArg
103103
from airflow.utils.task_group import TaskGroup
104104

0 commit comments

Comments
 (0)