كيف تقرأ هذه الصفحة وماذا تفعل في كل حالة

الألوان: 🟢 سليم تجاهل | 🟡 منتبه راقب | 🔴 حرج اضغط الزر داخل البطاقة وتصرف الآن.

المؤشر 🟢 سليم 🟡 منتبه 🔴 حرج ماذا تفعل
PHP Workers 0 - 25 26 - 33 ≥ 34 عند الحرج: اضغط "كيف أوقف SSE" داخل البطاقة، نفّذ الأوامر عبر SSH. بعدها التحديث اللحظي يتوقف لكن النظام يبقى يعمل.
إجابات/دقيقة أكثر من 5 0 خلال مسابقة نشطة افتح "فتح الجدول"، وافحص قائمة المسابقات الجارية أدناه — أي مسابقة فيها "صامت" يعني scorekeeper متوقف عن الإدخال.
اتصالات قاعدة البيانات أقل من 40 40 - 79 ≥ 80 عادةً مرتبط بـ PHP Workers — لو عالي مع saturation للworkers، نفّذ نفس خطوة إيقاف SSE.
متوسط الحمل أقل من 0.9× عدد النوى 0.9 - 1.5× ≥ 1.5× عادةً يتزامن مع saturation الworkers. الحل نفسه: إيقاف SSE.
مساحة القرص أكثر من 5 GB 1 - 5 GB أقل من 1 GB لا تأخذ نسخة احتياطية إذا كان حرج. بعد المسابقة: نظّف مجلد backups/.
قائمة المسابقات الجارية (يسار):
  • 🟢 N إجابة/د = scorekeeper يسجّل بنشاط.
  • 🟡 0 إجابة/د / "صامت" = لم تُسجَّل إجابة منذ دقيقة. إما بين الأسئلة أو scorekeeper متوقف. اضغط السهم لمعاينة الورقة.
آخر النشاطات (يمين): آخر 15 حدث في نظام التدقيق. مفيد عندما:
  • scorekeeper يقول "ضغطت ولم يحدث شيء" → تحقق من ظهور answer.submit له.
  • تبحث عن من مسح إجابة → ابحث عن answer.clear.
القاعدة الذهبية: لو كل البطاقات خضراء، اقرأ هذه الصفحة كل 15-20 دقيقة فقط. لا تتدخل إلا عند الأصفر/الأحمر.
{{ error }}
إيقاف SSE (في حالة saturation)

كل scorekeeper مفتوح يحجز worker واحد بشكل دائم لاتصال SSE. لو وصلنا للسقف، أوقف SSE وسيرجع التطبيق للعمل (سيحتاج refresh يدوي بدل التحديثات اللحظية).

عبر SSH على prod:

cd /var/www/vhosts/bsoj.org/bq.bsoj.org mv api/public/sse.php api/public/sse.php.disabled echo '<?php http_response_code(503); echo "SSE disabled"; exit;' > api/public/sse.php # لإعادة التفعيل بعد المسابقة: mv api/public/sse.php.disabled api/public/sse.php