From 0221f21c1254dfef15f8a04c19c1cdf4cb4281a9 Mon Sep 17 00:00:00 2001 From: Tim O'Farrell Date: Sun, 8 Jun 2025 13:43:34 -0600 Subject: [PATCH] Wait for nested container graceful shutdown (#8969) --- .../docker_nested_conversation_manager.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/openhands/server/conversation_manager/docker_nested_conversation_manager.py b/openhands/server/conversation_manager/docker_nested_conversation_manager.py index 73a0648100..67725b3dee 100644 --- a/openhands/server/conversation_manager/docker_nested_conversation_manager.py +++ b/openhands/server/conversation_manager/docker_nested_conversation_manager.py @@ -295,6 +295,14 @@ class DockerNestedConversationManager(ConversationManager): ) as client: response = await client.post(f'{nested_url}/api/conversations/{sid}/stop') response.raise_for_status() + + # Check up to 3 times that client has closed + for _ in range(3): + response = await client.get(f'{nested_url}/api/conversations/{sid}') + if response.status_code == status.HTTP_200_OK and response.json().get('status') == "STOPPED": + break + await asyncio.sleep(1) + except Exception: logger.exception("error_stopping_container") container.stop()