Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6abd3389f3 |
@@ -443,11 +443,27 @@ class ProcessMonitor:
|
||||
|
||||
def stop_session(self, session_id):
|
||||
"""停止会话"""
|
||||
# 先尝试从内存中停止
|
||||
if session_id in self.active_sessions:
|
||||
self.active_sessions[session_id]['stop'] = True
|
||||
self.active_sessions[session_id]['paused'] = False
|
||||
db.update_session_status(session_id, 'stopped')
|
||||
logger.info(f"停止会话(内存): {session_id}")
|
||||
return True
|
||||
|
||||
# 如果不在内存中,检查数据库并直接更新状态
|
||||
session = db.get_process_session(session_id)
|
||||
if session:
|
||||
# 只有运行中或暂停状态的会话才能停止
|
||||
if session.get('status') in ('running', 'paused', 'pending'):
|
||||
db.update_session_status(session_id, 'stopped')
|
||||
logger.info(f"停止会话(数据库): {session_id}")
|
||||
return True
|
||||
else:
|
||||
logger.warning(f"会话状态为 {session.get('status')},无法停止")
|
||||
return False
|
||||
|
||||
logger.warning(f"会话不存在: {session_id}")
|
||||
return False
|
||||
|
||||
def get_session_status(self, session_id):
|
||||
|
||||
Reference in New Issue
Block a user