109 lines
2.9 KiB
Python
109 lines
2.9 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Minimal Dashboard Test - Debug startup issues
|
|
"""
|
|
|
|
import logging
|
|
import sys
|
|
import traceback
|
|
|
|
# Setup logging
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
|
|
)
|
|
logger = logging.getLogger(__name__)
|
|
|
|
def test_imports():
|
|
"""Test all required imports"""
|
|
try:
|
|
logger.info("Testing imports...")
|
|
|
|
# Core imports
|
|
from core.config import get_config
|
|
logger.info("✓ core.config imported")
|
|
|
|
from core.data_provider import DataProvider
|
|
logger.info("✓ core.data_provider imported")
|
|
|
|
# Dashboard imports
|
|
import dash
|
|
from dash import dcc, html
|
|
import plotly.graph_objects as go
|
|
logger.info("✓ Dash imports successful")
|
|
|
|
# Try to import the dashboard
|
|
from web.old_archived.scalping_dashboard import RealTimeScalpingDashboard
|
|
logger.info("✓ RealTimeScalpingDashboard imported")
|
|
|
|
return True
|
|
|
|
except Exception as e:
|
|
logger.error(f"Import error: {e}")
|
|
traceback.print_exc()
|
|
return False
|
|
|
|
def test_dashboard_creation():
|
|
"""Test dashboard creation"""
|
|
try:
|
|
logger.info("Testing dashboard creation...")
|
|
|
|
from web.old_archived.scalping_dashboard import RealTimeScalpingDashboard
|
|
from core.data_provider import DataProvider
|
|
|
|
# Create data provider
|
|
data_provider = DataProvider()
|
|
logger.info("✓ DataProvider created")
|
|
|
|
# Create dashboard
|
|
dashboard = RealTimeScalpingDashboard(data_provider=data_provider)
|
|
logger.info("✓ Dashboard created successfully")
|
|
|
|
return dashboard
|
|
|
|
except Exception as e:
|
|
logger.error(f"Dashboard creation error: {e}")
|
|
traceback.print_exc()
|
|
return None
|
|
|
|
def test_dashboard_run():
|
|
"""Test dashboard run"""
|
|
try:
|
|
logger.info("Testing dashboard run...")
|
|
|
|
dashboard = test_dashboard_creation()
|
|
if not dashboard:
|
|
return False
|
|
|
|
# Try to run dashboard
|
|
logger.info("Starting dashboard on port 8052...")
|
|
dashboard.run(host='127.0.0.1', port=8052, debug=True)
|
|
|
|
return True
|
|
|
|
except Exception as e:
|
|
logger.error(f"Dashboard run error: {e}")
|
|
traceback.print_exc()
|
|
return False
|
|
|
|
def main():
|
|
"""Main test function"""
|
|
logger.info("=== MINIMAL DASHBOARD TEST ===")
|
|
|
|
# Test 1: Imports
|
|
if not test_imports():
|
|
logger.error("Import test failed!")
|
|
sys.exit(1)
|
|
|
|
# Test 2: Dashboard creation
|
|
dashboard = test_dashboard_creation()
|
|
if not dashboard:
|
|
logger.error("Dashboard creation test failed!")
|
|
sys.exit(1)
|
|
|
|
# Test 3: Dashboard run
|
|
logger.info("All tests passed! Starting dashboard...")
|
|
test_dashboard_run()
|
|
|
|
if __name__ == "__main__":
|
|
main() |