offload / README_background.md
osamabyc86's picture
Upload 58 files
8da9d7a verified

A newer version of the Gradio SDK is available: 6.5.1

Upgrade

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

نظرة عامة

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

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

1. خدمة العمل في الخلفية (background_service.py)

  • تدير جميع الخدمات الأساسية في الخلفية
  • توفر HTTP API للتحكم عن بُعد
  • فحص دوري وإعادة تشغيل الخدمات المتوقفة
  • نظام سجلات شامل

2. أيقونة شريط النظام (system_tray.py)

  • تحكم سريع من شريط النظام
  • إظهار/إخفاء الواجهة التفاعلية حسب الحاجة
  • مراقبة حالة النظام في الوقت الفعلي

3. المشغل الموحد (launcher.py)

  • واجهة موحدة لجميع أوضاع التشغيل
  • تثبيت تلقائي للاعتماديات
  • خيارات تشغيل متعددة

طرق التشغيل

التشغيل مع أيقونة شريط النظام (موصى به)

python launcher.py --tray

التشغيل التفاعلي (مع واجهة)

python launcher.py --interactive

التشغيل بدون واجهة (للخوادم)

python launcher.py --headless

عرض حالة النظام

python launcher.py --status

إيقاف النظام

python launcher.py --stop

التحكم عبر HTTP API

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

فحص الحالة

curl http://localhost:8888/status

بدء الخدمات

curl -X POST http://localhost:8888/start

إيقاف الخدمات

curl -X POST http://localhost:8888/stop

إظهار الواجهة التفاعلية

curl -X POST http://localhost:8888/show-ui

إخفاء الواجهة التفاعلية

curl -X POST http://localhost:8888/hide-ui

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

للتشغيل مع أيقونة شريط النظام:

pip install pystray Pillow

أو استخدم:

python launcher.py --install-deps

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

Windows

python control.py --enable

Linux (systemd)

إنشاء ملف خدمة:

sudo nano /etc/systemd/system/distributed-tasks.service

محتوى الملف:

[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

تفعيل الخدمة:

sudo systemctl enable distributed-tasks.service
sudo systemctl start distributed-tasks.service

macOS

python control.py --enable

المزايا

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

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

فحص السجلات

tail -f logs/background_service.log

فحص حالة الخدمات

python launcher.py --status

إعادة تشغيل النظام

python launcher.py --stop
python launcher.py --tray

التخصيص

يمكن تخصيص الخدمة عبر تعديل:

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