كيف تعرف ما إذا كانت ناقل الرسائل لا تزال نشطة

أعمل على إضافة (plugin) تقوم بإعادة بناء Discourse. لقد اقتربتُ منها جدًا. المشكلة التي تُزعجني الآن هي أن لدي صفحة حالة تُظهر التحديثات أثناء حدوثها في عملية الترقية. لكن الأمر يستغرق وقتًا طويلاً، وأعتقد أن رسالة النافذة (message bus) تنقضي في النهاية بسبب عدم وجود نشاط في الصفحة. إذا غادر المستخدم الصفحة وعاد إليها، فإنها تعمل بشكل جيد.

هل هناك طريقة لحل هذه المشكلة؟ ربما بإضافة شيء في الصفحة يقوم بإعادة التحميل كل 5 دقائق أو ما شابه ذلك؟

يستعيد MessageBus الاتصال بعد انقطاعه وما إلى ذلك، ربما يتغير اسم القناة الخاص بك عند إعادة التحميل؟

إذن، هل يجب أن يستمر MessageBus في تحديث الصفحة إلى الأبد، حتى لو كان المتصفح غير نشط؟ ما وظيفة REQUEST_QUEUE_SECONDS؟ (أوه، هل هو فقط عندما يكون الخادم مثقلاً؟)

لكن… يبدو أن مشكلتي ربما كانت بسبب شيء تم دفعه إلى MessageBus لا ينبغي أن يكون كذلك. ومع وجود Rails وEmber وAnsible جميعها في المشهد، من الصعب عليّ معرفة من أُلوم. :man_shrugging:

كلما فشل ناقل الرسائل أكثر، زاد التراجع التلقائي:

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

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