بناء شاشات مطبخ لحظية باستخدام WebSocket
فريق IT Smart App٢٨ نيسان ٢٠٢٦2 دقيقة قراءة
WebSocketالزمن الحقيقيReactالمطاعم
حين يسجّل النادل طلباً على جهاز لوحي فتتحدث شاشة المطبخ فوراً — تلك هي قوة الاتصال اللحظي. إليك كيف بنيناها ضمن نظام إدارة المقاهي والمطاعم لدينا.
المشكلة
تعتمد أنظمة المطاعم التقليدية على تذاكر مطبوعة أو استعلام دوري، ما يسبب تأخيراً وطلبات ضائعة وإرهاقاً لطاقم المطبخ. كنا بحاجة إلى:
- تسليم فوري للطلبات من نقطة البيع إلى محطات المطبخ
- تحديثات حالة مباشرة يراها النادلون والمديرون
- توجيه حسب المحطة بحيث ترى كل محطة تحضير ما يخصها فقط
- عدم فقدان أي رسالة حتى أثناء تعثّر الشبكة
بنية WebSocket لدينا
اخترنا WebSocket بدل Server-Sent Events لأننا احتجنا اتصالاً ثنائي الاتجاه — فالمطبخ يحتاج إلى إرسال تحديثات الحالة إلى نقطة البيع.
جانب الخادم (FastAPI + WebSocket)
تدير واجهتنا الخلفية المبنية على FastAPI اتصالات WebSocket لكل مستأجر:
- ينضم كل عميل متصل إلى قناة خاصة بالمستأجر
- تُبَث أحداث الطلبات إلى جميع العملاء ضمن المستأجر نفسه
- تضمن طبقة Redis pub/sub وصول الرسائل إلى جميع نسخ الخادم في النشر متعدد العمليات
جانب العميل (React)
شاشة المطبخ تطبيق React يقوم بـ:
- الحفاظ على اتصال WebSocket دائم مع إعادة اتصال تلقائية
- تجميع الطلبات الواردة حسب المحطة (الشواء، المشروبات، الحلويات)
- عرض مؤقتات التحضير بمستويات إلحاح مميزة بالألوان
- تشغيل تنبيهات صوتية عند وصول طلب جديد
معالجة الحالات الاستثنائية
الأنظمة اللحظية تحتاج إلى تعامل سليم مع الأعطال:
- 1إعادة الاتصال — تراجع أُسّي مع تشويش زمني عند انقطاع الاتصال
- 2مطابقة الحالة — عند العودة، تُجلب أحدث حالة من واجهة REST
- 3طابور دون اتصال — إذا وُسم صنف بأنه جاهز أثناء الانقطاع، يُخزَّن التحديث ويُرسل عند عودة الاتصال
- 4نبضة دورية — ping/pong كل 30 ثانية لكشف الاتصالات المتوقفة
النتائج
بعد نشر شاشة المطبخ اللحظية:
- زمن وصول الطلب إلى الشاشة: أقل من 200 مللي ثانية (كان 30–60 ثانية مع الاستعلام الدوري)
- الطلبات الضائعة: صفر (كانت 2–3 في كل وردية)
- كفاءة المطبخ: تحسّن بنسبة 25% في متوسط زمن التحضير
دروس مستفادة
- طبّق منطق إعادة الاتصال دائماً — فالاتصالات ستنقطع لا محالة
- استخدم وسيط رسائل مثل Redis للتوسع الأفقي
- اختبر في ظروف شبكة واقعية (اتصالات مقيّدة، انقطاعات متقطعة)
- التنبيهات الصوتية أثرها كبير في تبنّي الطاقم للنظام
*تريد رؤية نظام شاشات المطبخ عملياً؟ اطلب عرضاً توضيحياً وسنطلعك عليه.*