#!/usr/bin/env python3 """ Quick cluster status dashboard """ import sqlite3 from pathlib import Path from datetime import datetime CLUSTER_DIR = Path(__file__).parent DB_PATH = CLUSTER_DIR / 'strategies.db' QUEUE_DIR = CLUSTER_DIR / 'queue' def show_status(): """Display cluster status""" print("="*70) print("šŸŽÆ OPTIMIZATION CLUSTER STATUS") print("="*70) print(f"šŸ“… {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n") # Job queue status queued_jobs = list(QUEUE_DIR.glob("*.json")) if QUEUE_DIR.exists() else [] print(f"šŸ“‹ Queue: {len(queued_jobs)} jobs waiting") # Database status (if exists) if DB_PATH.exists(): conn = sqlite3.connect(DB_PATH) c = conn.cursor() # Job stats c.execute("SELECT status, COUNT(*) FROM jobs GROUP BY status") job_stats = dict(c.fetchall()) print(f" Running: {job_stats.get('running', 0)}") print(f" Completed: {job_stats.get('completed', 0)}") # Top strategies c.execute(""" SELECT name, pnl_per_1k, trade_count, win_rate, profit_factor FROM strategies WHERE status = 'completed' AND pnl_per_1k IS NOT NULL ORDER BY pnl_per_1k DESC LIMIT 5 """) top_strats = c.fetchall() if top_strats: print("\nšŸ† TOP 5 STRATEGIES:") print("-" * 70) print(f"{'Rank':<6} {'Strategy':<30} {'P&L/1k':<12} {'Trades':<8} {'WR%':<8} {'PF':<6}") print("-" * 70) for i, (name, pnl, trades, wr, pf) in enumerate(top_strats, 1): print(f"{i:<6} {name[:30]:<30} ${pnl:<11.2f} {trades:<8} {wr:<7.1f}% {pf:<6.2f}") else: print("\nā³ No completed strategies yet...") # Current baseline print("\nšŸ“Š BASELINE COMPARISON:") print(f" v9 baseline: $192.00/1k (current production)") if top_strats: best_pnl = top_strats[0][1] improvement = ((best_pnl - 192) / 192) * 100 if improvement > 0: print(f" Best found: ${best_pnl:.2f}/1k ({improvement:+.1f}% improvement) āœ…") else: print(f" Best found: ${best_pnl:.2f}/1k ({improvement:+.1f}%)") conn.close() else: print("\nāš ļø Database not initialized. Run setup_cluster.sh first.") print("\n" + "="*70) if __name__ == '__main__': try: show_status() except KeyboardInterrupt: print("\n")