إعدادات الموقع مختلفة في كل مرة في تثبيت تطوير Ubuntu

مرحباً، أنا أقوم بإنشاء موقع منتدى.

حاولت تغيير إعدادات الموقع ثم تحديثه، لكن لا يمكنني رؤية القيم المعدّلة بشكل متقطع.

يبدو أن كل عملية تحديث تعرض القيم المخزنة مسبقاً.

عدّلت عدد عمال Puma، لكن لم يتغير شيء.

القيمة المعدّلة تم حفظها في قاعدة البيانات.

هل المشكلة تتعلق بـ message_bus؟
إذا كان الأمر كذلك، كيف يجب أن أعدل الإعدادات؟

أرجو الرد عليّ. شكراً لك!

إعجاب واحد (1)

كيف قمت بتثبيت Discourse بالضبط؟

إعجاب واحد (1)

أرى نفس المشكلة. إذا قمت بتعيين عدد عمال Puma إلى 1، فإن المشكلة تختفي. يبدو أن كل عامل يحتفظ بنسخة من كائن إعدادات الموقع، وعندما يقوم أحد العمال بإجراء تحديث، لا يلاحظ العاملون الآخرون ذلك التحديث.

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

أحتاج إلى طرح نفس السؤال: كيف قمت بتثبيت Discourse بالضبط؟

عند التثبيت وفقًا للطريقة المدعومة الوحيدة، لا نستخدم Puma، وهذه المشكلة غير موجودة.

إعجاب واحد (1)

أحاول القيام ببعض تطوير الإضافات، لذا تابعت الرابط الموجود في README لإعداد بيئة تطوير على نظام Ubuntu. عند تشغيل الأمر bundle exec rails server --binding=0.0.0.0، يبدأ التطبيق باستخدام Puma.

أشبه ما رأيته من قبل هو أنه عند إيقاف الخادم، قد يعيد المتصفح ملف JSON أو النسخة المؤقتة من الموقع.

هل لا يزال الخادم يعمل؟

شيء آخر أقوم به هو فتح نافذة طرفية أخرى وتشغيل الأمر:

./bin/rails c

ثم تغيير الإعدادات هناك باستخدام أمر مثل:

SiteSetting.title=“my title”

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

لماذا تقوم بتوسيع النطاق أثناء تطوير الإضافات؟

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

إعجابَين (2)

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

أثناء التصحيح، لاحظت أن app/models/site_setting.rb لا يزال يُحفّز حدثًا باسم :site_setting_saved، والذي يبدو أنه قد أُزيل من التطبيق واستُبدل بـ :site_setting_changed. لا يوجد الآن أي مستمع لحدث :site_setting_saved.

يمكنك أيضًا تشغيل خادم الويب Unicorn في بيئة التطوير باستخدام bin/unicorn.

إعجاب واحد (1)