دليل يوم المسابقة

قائمة مهام مرتبة لتشغيل يوم مسابقة بسلاسة. اطبعها واحتفظ بها بجانبك.

🌅 قبل المسابقة بـ 30 دقيقة

1 سحب آخر التحديثات على prod

في Plesk → Domains → bq.bsoj.org → Git → Pull updates.

يضمن أن آخر إصلاحات قبل المسابقة موجودة على الخادم.

2 أخذ نسخة احتياطية

/admin/backup.html

شبكة الأمان لو حدث أي شيء غير متوقع. لا تتجاوز هذه الخطوة.

3 فحص الجاهزية

/admin/readiness.html

الهدف: 0 مشاكل حرجة، 0 تحذيرات.

إن كان هناك أي مشكلة باللون الأحمر — أصلحها الآن قبل أن تكتشفها وقت المسابقة.

4 اختبار الحمل (Smoke Test)

افتح 9 تبويبات للـ scorekeeper (في Chrome/Edge) وادخل لكل واحدة باستخدام حسابات مختلفة. تأكد:

السقف الأقصى = 40 worker، فلديك مساحة كافية.

🖥️ تجهيز جهاز المراقبة (Operator Station)

5 تثبيت 6 تبويبات بهذا الترتيب

استخدم Ctrl+Shift+P ثم Pin tab، أو اسحب إلى pinned للترتيب أسرع. ثم استخدم Ctrl+1...6 للتنقل.

  1. Health — لوحة المراقبة
  2. Schedule — الجدول الحي
  3. Multiroom — fullscreen على شاشة TV/projector
  4. Audit — للتحقيق في أي حادث
  5. Brackets — لأي تعديل
  6. Readiness — للفحص المتكرر
📣 توجيهات للـ Scorekeepers (5 دقائق قبل البدء)

6 القواعد الذهبية

1. أدخل الإجابات بترتيب الأسئلة (Q1 → Q20). لا تقفز للأمام ثم ترجع. لو دخلت Q18 ثم رجعت لـ Q17، قد تختفي بعض المكافآت (3rd scorer bonus). نملك أداة إصلاح، لكن تجنّب المشكلة من البداية أفضل.
2. لو الصفحة بطيئة أو متوقفة، اضغط Ctrl+F5. لا تستمر بالضغط على نفس الإجابة — قد ينتج عنه إجابات مكررة (رغم وجود حماية في النظام).
3. لا تفتح Multiroom على الموبايل. كل مشاهد = worker إضافي. اترك Multiroom فقط على شاشة العرض الرئيسية.
4. تأكد من تفعيل "في الوقت" للفرق الحاضرة. هذا يضيف 20 نقطة للفريق تلقائياً.
⏱️ خلال المسابقة

7 راقب صفحة Health كل 15-20 دقيقة

القاعدة: لو كل البطاقات خضراء، لا تتدخل.

الصفحة تخبرك ماذا تفعل لو ظهر شيء أصفر أو أحمر. اضغط زر "كيف تقرأ هذه الصفحة" في أعلى الصفحة لمراجعة الـ thresholds.

8 لو حدث شيء غير طبيعي

🟡 PHP Workers تجاوز 26: الخادم مشغول لكن يعمل. لا تفتح تبويبات جديدة. أخبر الناس إغلاق Multiroom على أجهزتهم الشخصية.
🔴 PHP Workers تجاوز 34: اضغط زر "كيف أوقف SSE" في بطاقة الـ Workers — فيه أوامر SSH لإيقاف SSE. سيرجع النظام للعمل لكن scorekeepers سيحتاجون refresh يدوي بعد كل تغيير.
🟡 إجابات/دقيقة = 0 خلال مسابقة نشطة: افتح صفحة Schedule وانظر أي قاعة "صامت". تواصل مع scorekeeper تلك القاعة.
scorekeeper يقول "ضغطت ولم يحدث شيء": افتح صفحة Audit، فلتر action = answer.submit وأي ID المسابقة. لو ظهرت الإجابة فهي مسجلة، فقط الصفحة لم تتحدث — اطلب منه Ctrl+F5.
إجابة سُجلت بطريقة خاطئة: Scorekeeper نفسه يستطيع المسح عبر زر "مسح" في modal الإجابة، ثم إعادة التسجيل.
المكافأة لم تظهر بعد إدخال خارج الترتيب: بعد المسابقة، شغّل php tools/recompute_answer_bonuses.php --quiz=N --apply ثم php tools/recompute_quizzer_stats.php --quiz=N --apply.
🏁 بعد المسابقة

9 نسخة احتياطية ثانية + فحص نهائي

🆘 ملاحظات سريعة

روابط مرجعية:

bq.bsoj.org Health Readiness Schedule Audit Backup Multiroom

اختصارات لوحة المفاتيح: