File tree Expand file tree Collapse file tree
src/dstack/_internal/server
background/pipeline_tasks/instances Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1111from dstack ._internal .server .models import InstanceModel
1212from dstack ._internal .server .services import backends as backends_services
1313from dstack ._internal .server .services .instances import get_instance_provisioning_data
14+ from dstack ._internal .server .services .runner .pool import (
15+ InstanceConnectionKey ,
16+ instance_connection_pool ,
17+ )
1418from dstack ._internal .utils .common import get_current_datetime , run_async
1519from dstack ._internal .utils .logging import get_logger
1620
@@ -77,6 +81,9 @@ async def terminate_instance(instance_model: InstanceModel) -> ProcessResult:
7781 exc_info = not isinstance (exc , BackendError ),
7882 )
7983
84+ if job_provisioning_data is not None :
85+ instance_connection_pool .drop (InstanceConnectionKey .from_jpd (job_provisioning_data ))
86+
8087 result .instance_update_map ["deleted" ] = True
8188 result .instance_update_map ["deleted_at" ] = NOW_PLACEHOLDER
8289 result .instance_update_map ["finished_at" ] = NOW_PLACEHOLDER
Original file line number Diff line number Diff line change @@ -45,7 +45,7 @@ class InstanceConnectionKey:
4545
4646 @staticmethod
4747 def from_jpd (
48- jpd : JobProvisioningData , jrd : Optional [JobRuntimeData ]
48+ jpd : JobProvisioningData , jrd : Optional [JobRuntimeData ] = None
4949 ) -> "InstanceConnectionKey" :
5050 assert jpd .hostname is not None and jpd .ssh_port is not None
5151 container_to_host_port_map = InstanceConnection .get_container_to_host_port_map (jpd , jrd )
You can’t perform that action at this time.
0 commit comments