مسح كل البيانات في Redis

أشارك هذه المعلومة في حال كانت مفيدة لأي شخص آخر يرى كلمة “جاري التحديث” في لوحة الإدارة رغم عدم وجود تحديث فعلي جارٍ، ويبدو المنتدى سليمًا من الناحية الأخرى.

رغم أن هذه المشكلة لم تؤثر أبدًا على تحديثات مدير Docker، فقد اضطررت في الإصدارات القليلة الماضية إلى إجراء التحديثات عبر سطر الأوامر (CLI) لأن لوحة الإدارة كانت تشير دائمًا إلى أن Discourse قيد التحديث.

منتداي صغير ولا يحتوي على إضافات مخصصة.

كان حل المشكلة هو تفريغ ذاكرة التخزين المؤقت لـ Redis.

لا يمكنني الكشف عن السبب الجذري، لكن كان الأمر محبطًا للغاية أن أصل إلى حد معرفتي وفهمي لعملية تحديث Discourse (هذا ليس شكوى، بل اعتراف).

حتى الآن، كانت إعادة بناء التطبيق (rebuild app) دائمًا الحل الموثوق تقريبًا لأي مشكلة.

يحتوي Redis أيضًا على جلسات المستخدمين وأكثر من ذلك. تفريغ Redis بالكامل سيتسبب في تسجيل خروج الجميع وحذف جميع مهام Sidekiq المعلقة. ستعود المهام المجدولة فقط بعد إعادة التشغيل التالية.

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