File size: 4,044 Bytes
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169

# نظام العمل في الخلفية

## نظرة عامة
يوفر هذا النظام إمكانية تشغيل التطبيق كخدمة خلفية دون إظهار واجهات تفاعلية إلا عند الحاجة. مناسب للخوادم والأجهزة التي تعمل على مدار الساعة.

## المكونات الجديدة

### 1. خدمة العمل في الخلفية (`background_service.py`)
- تدير جميع الخدمات الأساسية في الخلفية
- توفر HTTP API للتحكم عن بُعد
- فحص دوري وإعادة تشغيل الخدمات المتوقفة
- نظام سجلات شامل

### 2. أيقونة شريط النظام (`system_tray.py`)
- تحكم سريع من شريط النظام
- إظهار/إخفاء الواجهة التفاعلية حسب الحاجة
- مراقبة حالة النظام في الوقت الفعلي

### 3. المشغل الموحد (`launcher.py`)
- واجهة موحدة لجميع أوضاع التشغيل
- تثبيت تلقائي للاعتماديات
- خيارات تشغيل متعددة

## طرق التشغيل

### التشغيل مع أيقونة شريط النظام (موصى به)
```bash
python launcher.py --tray
```

### التشغيل التفاعلي (مع واجهة)
```bash
python launcher.py --interactive
```

### التشغيل بدون واجهة (للخوادم)
```bash
python launcher.py --headless
```

### عرض حالة النظام
```bash
python launcher.py --status
```

### إيقاف النظام
```bash
python launcher.py --stop
```

## التحكم عبر HTTP API

الخدمة توفر HTTP API على المنفذ 8888:

### فحص الحالة
```bash
curl http://localhost:8888/status
```

### بدء الخدمات
```bash
curl -X POST http://localhost:8888/start
```

### إيقاف الخدمات
```bash
curl -X POST http://localhost:8888/stop
```

### إظهار الواجهة التفاعلية
```bash
curl -X POST http://localhost:8888/show-ui
```

### إخفاء الواجهة التفاعلية
```bash
curl -X POST http://localhost:8888/hide-ui
```

## الاعتماديات الإضافية

للتشغيل مع أيقونة شريط النظام:
```bash
pip install pystray Pillow
```

أو استخدم:
```bash
python launcher.py --install-deps
```

## التشغيل التلقائي

### Windows
```bash
python control.py --enable
```

### Linux (systemd)
إنشاء ملف خدمة:
```bash
sudo nano /etc/systemd/system/distributed-tasks.service
```

محتوى الملف:
```ini
[Unit]
Description=Distributed Task System
After=network.target

[Service]
Type=simple
User=your-username
WorkingDirectory=/path/to/your/project
ExecStart=/usr/bin/python3 launcher.py --headless
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
```

تفعيل الخدمة:
```bash
sudo systemctl enable distributed-tasks.service
sudo systemctl start distributed-tasks.service
```

### macOS
```bash
python control.py --enable
```

## المزايا

1. **العمل في الخلفية**: النظام يعمل دون إزعاج المستخدم
2. **تحكم مرن**: إظهار الواجهة عند الحاجة فقط
3. **مراقبة تلقائية**: إعادة تشغيل الخدمات المتوقفة
4. **تحكم عن بُعد**: HTTP API للتحكم من أي مكان
5. **سجلات شاملة**: تتبع جميع الأحداث والأخطاء
6. **دعم منصات متعددة**: Windows, Linux, macOS

## الاستكشاف والإصلاح

### فحص السجلات
```bash
tail -f logs/background_service.log
```

### فحص حالة الخدمات
```bash
python launcher.py --status
```

### إعادة تشغيل النظام
```bash
python launcher.py --stop
python launcher.py --tray
```

## التخصيص

يمكن تخصيص الخدمة عبر تعديل:
- منافذ الشبكة في `background_service.py`
- قائمة الخدمات المُدارة
- فترات الفحص الدوري
- مسارات السجلات