sync active training with UI if running

This commit is contained in:
Dobromir Popov
2025-11-12 22:37:20 +02:00
parent fcbc475686
commit 1af3124be7
7 changed files with 384 additions and 10 deletions

View File

@@ -2054,6 +2054,52 @@ class RealTrainingAdapter:
'duration_seconds': session.duration_seconds,
'error': session.error
}
def get_active_training_session(self) -> Optional[Dict]:
"""
Get currently active training session (if any)
This allows the UI to resume tracking training progress after page reload
Returns:
Dict with training info if active session exists, None otherwise
"""
# Find any session with 'running' status
for training_id, session in self.training_sessions.items():
if session.status == 'running':
return {
'training_id': training_id,
'status': session.status,
'model_name': session.model_name,
'test_cases_count': session.test_cases_count,
'current_epoch': session.current_epoch,
'total_epochs': session.total_epochs,
'current_loss': session.current_loss,
'start_time': session.start_time
}
return None
def get_all_training_sessions(self) -> List[Dict]:
"""
Get all training sessions (for debugging/monitoring)
Returns:
List of all training session summaries
"""
sessions = []
for training_id, session in self.training_sessions.items():
sessions.append({
'training_id': training_id,
'status': session.status,
'model_name': session.model_name,
'current_epoch': session.current_epoch,
'total_epochs': session.total_epochs,
'start_time': session.start_time,
'duration_seconds': session.duration_seconds
})
return sessions
# Real-time inference support