From aac90133d6a82df92474c325aeaaa169066f8d28 Mon Sep 17 00:00:00 2001 From: Harry Date: Wed, 21 Jan 2026 21:19:37 +0800 Subject: [PATCH] refactor: update session cleanup logic and extend command timeout - Changed the command timeout duration from 60 seconds to 1 hour for improved session stability. - Refactored session cleanup logic to utilize the CLI API session object instead of session ID, enhancing clarity and maintainability. --- api/core/sandbox/bash/bash_tool.py | 2 +- api/core/sandbox/bash/session.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/api/core/sandbox/bash/bash_tool.py b/api/core/sandbox/bash/bash_tool.py index 82467b01c2..6003c527c8 100644 --- a/api/core/sandbox/bash/bash_tool.py +++ b/api/core/sandbox/bash/bash_tool.py @@ -18,7 +18,7 @@ from core.virtual_environment.__base.virtual_environment import VirtualEnvironme from ..utils.debug import sandbox_debug -COMMAND_TIMEOUT_SECONDS = 60 +COMMAND_TIMEOUT_SECONDS = 60 * 60 class SandboxBashTool(Tool): diff --git a/api/core/sandbox/bash/session.py b/api/core/sandbox/bash/session.py index cdca8977b0..272d7a004c 100644 --- a/api/core/sandbox/bash/session.py +++ b/api/core/sandbox/bash/session.py @@ -109,10 +109,10 @@ class SandboxBashSession: tb: TracebackType | None, ) -> bool: try: - if self._session_id is not None: - CliApiSessionManager().delete(self._session_id) - logger.debug("Cleaned up SandboxSession session_id=%s", self._session_id) - self._session_id = None + if self._cli_api_session is not None: + CliApiSessionManager().delete(self._cli_api_session.id) + logger.debug("Cleaned up SandboxSession session_id=%s", self._cli_api_session.id) + self._cli_api_session = None except Exception: logger.exception("Failed to cleanup SandboxSession") return False