Files
gogo2/force_refresh_dashboard.py
Dobromir Popov 8738f02d24 fixes
2025-08-10 21:28:49 +03:00

74 lines
2.7 KiB
Python
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
"""
Force refresh dashboard model states to show correct DQN status
"""
import sys
import os
import requests
import time
sys.path.append('.')
def force_refresh_dashboard():
"""Force refresh the dashboard to show correct model states"""
print("=== Forcing Dashboard Refresh ===")
# Try to hit the dashboard endpoint to force a refresh
dashboard_url = "http://localhost:8050"
try:
print(f"Attempting to refresh dashboard at {dashboard_url}...")
# Try to access the main dashboard page
response = requests.get(dashboard_url, timeout=5)
if response.status_code == 200:
print("✅ Dashboard is accessible and responding")
else:
print(f"⚠️ Dashboard responded with status code: {response.status_code}")
# Try to access the model states API endpoint if it exists
try:
api_response = requests.get(f"{dashboard_url}/api/model-states", timeout=5)
if api_response.status_code == 200:
print("✅ Model states API is accessible")
else:
print(f"⚠️ Model states API responded with: {api_response.status_code}")
except:
print(" No model states API endpoint found (this is normal)")
except requests.exceptions.ConnectionError:
print("❌ Dashboard is not running or not accessible")
print("Please start the dashboard with: python run_clean_dashboard.py")
except Exception as e:
print(f"❌ Error accessing dashboard: {e}")
# Also verify the model states are correct
print("\n=== Verifying Model States ===")
try:
from core.orchestrator import TradingOrchestrator
from core.data_provider import DataProvider
dp = DataProvider()
orch = TradingOrchestrator(data_provider=dp)
states = orch.get_model_states()
if states and 'dqn' in states:
dqn_state = states['dqn']
checkpoint_loaded = dqn_state.get('checkpoint_loaded', False)
checkpoint_filename = dqn_state.get('checkpoint_filename', 'None')
print(f"✅ DQN checkpoint_loaded: {checkpoint_loaded}")
print(f"✅ DQN checkpoint_filename: {checkpoint_filename}")
if checkpoint_loaded:
print("🎯 DQN should show as ACTIVE with [CKPT], not FRESH")
else:
print("⚠️ DQN checkpoint not loaded - will show as FRESH")
else:
print("❌ No DQN state found")
except Exception as e:
print(f"❌ Error verifying model states: {e}")
if __name__ == "__main__":
force_refresh_dashboard()