mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-06 07:56:52 +08:00
fix: recreate terminal manager after shutdown
This commit is contained in:
@@ -721,3 +721,11 @@ class _TerminalSessionManager:
|
|||||||
|
|
||||||
|
|
||||||
terminal_session_manager = _TerminalSessionManager()
|
terminal_session_manager = _TerminalSessionManager()
|
||||||
|
|
||||||
|
|
||||||
|
def get_terminal_session_manager() -> _TerminalSessionManager:
|
||||||
|
"""返回当前进程的终端会话管理器,避免复用已完成关停的实例。"""
|
||||||
|
global terminal_session_manager
|
||||||
|
if terminal_session_manager._closed:
|
||||||
|
terminal_session_manager = _TerminalSessionManager()
|
||||||
|
return terminal_session_manager
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ from app.agent.tools.impl._terminal_session import (
|
|||||||
TERMINAL_DEFAULT_READ_BYTES,
|
TERMINAL_DEFAULT_READ_BYTES,
|
||||||
TERMINAL_MAX_READ_BYTES,
|
TERMINAL_MAX_READ_BYTES,
|
||||||
TERMINAL_WAIT_DEFAULT_MS,
|
TERMINAL_WAIT_DEFAULT_MS,
|
||||||
terminal_session_manager,
|
get_terminal_session_manager,
|
||||||
)
|
)
|
||||||
from app.runtime.log import logger
|
from app.runtime.log import logger
|
||||||
|
|
||||||
@@ -528,6 +528,7 @@ class ExecuteCommandTool(MoviePilotTool):
|
|||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
terminal_session_manager = get_terminal_session_manager()
|
||||||
if normalized_action == "start":
|
if normalized_action == "start":
|
||||||
start_command = self._require_command(command)
|
start_command = self._require_command(command)
|
||||||
self._validate_command(
|
self._validate_command(
|
||||||
|
|||||||
Reference in New Issue
Block a user