Spaces:
Running
Running
File size: 2,832 Bytes
042d8bf |
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 |
#!/usr/bin/env python3
# quick_test.py - اختبار سريع لنظام التوزيع
import requests
import time
from offload_lib import discover_peers
def quick_connectivity_test():
"""اختبار سريع للاتصال والتوزيع"""
print("🚀 اختبار سريع لنظام التوزيع")
print("-" * 40)
# 1. اكتشاف الأجهزة
print("🔍 البحث عن الأجهزة...")
peers = discover_peers(timeout=2)
if not peers:
print("❌ لم يتم العثور على أجهزة أخرى")
return False
print(f"✅ تم العثور على {len(peers)} جهاز:")
for peer in peers:
print(f" 📱 {peer}")
# 2. اختبار الاتصال السريع
working_peers = []
for peer in peers:
try:
response = requests.get(f"{peer}/health", timeout=3)
if response.status_code == 200:
working_peers.append(peer)
print(f"✅ {peer} - متصل ويعمل")
else:
print(f"⚠️ {peer} - يستجيب لكن بخطأ")
except:
print(f"❌ {peer} - غير متصل")
if not working_peers:
print("❌ لا توجد أجهزة تعمل بشكل صحيح")
return False
# 3. اختبار إرسال مهمة بسيطة
print(f"\n📡 اختبار إرسال مهمة إلى {working_peers[0]}...")
task = {
"func": "matrix_multiply",
"args": [5],
"kwargs": {}
}
try:
start_time = time.time()
response = requests.post(f"{working_peers[0]}/run", json=task, timeout=10)
duration = time.time() - start_time
if response.status_code == 200:
result = response.json()
print(f"✅ تمت المعالجة بنجاح في {duration:.2f} ثانية")
print(f"📊 النتيجة: تم ضرب مصفوفة 5x5")
return True
else:
print(f"❌ فشل في المعالجة - كود الخطأ: {response.status_code}")
return False
except Exception as e:
print(f"❌ خطأ في الإرسال: {str(e)}")
return False
if __name__ == "__main__":
success = quick_connectivity_test()
if success:
print("\n🎉 النظام يعمل بشكل صحيح!")
print("💡 يمكنك الآن تشغيل الاختبار الشامل: python test_distributed_system.py")
else:
print("\n⚠️ هناك مشاكل في النظام، تحقق من:")
print(" 1. تشغيل الخادم على الأجهزة الأخرى")
print(" 2. الاتصال بالشبكة")
print(" 3. إعدادات الجدار الناري")
|