File size: 800 Bytes
e5724fa
8da9d7a
 
e5724fa
 
 
 
8da9d7a
 
 
 
 
 
e5724fa
 
 
 
 
 
8da9d7a
 
 
e5724fa
 
8da9d7a
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# dts_cli.py — أوامر CLI لتشغيل النظام الموزع
import click
import threading
from peer_discovery import PEERS, PORT
import dashboard
import rpc_server

@click.group()
def cli():
    pass

@cli.command()
def start():
    """بدء Dashboard وخادم RPC معاً"""
    # شغّل الـ Dashboard في خيط منفصل
    t = threading.Thread(target=lambda: dashboard.socketio.run(dashboard.app, host="0.0.0.0", port=7000), daemon=True)
    t.start()
    # شغّل خادم RPC في الخيط الرئيسي
    rpc_server.app.run(host="0.0.0.0", port=PORT)

@cli.command()
def discover():
    """طباعة قائمة الأقران المكتشفة"""
    for i, peer in enumerate(sorted(PEERS), 1):
        print(f"{i}. {peer}")

if __name__ == "__main__":
    cli()