الروابط معطلة بعد النقل

كثير من الروابط الداخلية في المنتدى معطلة بعد الانتقال إلى خادم جديد. لقد قمت بإنشاء الخادم الجديد بعنوان URL مؤقت وهو staging.example.com للمساعدة في عملية الانتقال، ولكن الآن بعد اكتمال الانتقال، لا تزال العديد من الروابط في forum.example.com تشير إلى staging.example.com (الذي لم يعد موجودًا).

لقد تأكدت من ملف app.yml وأعدت البناء:

containers/app.yml: DISCOURSE_HOSTNAME: forum.example.com

لقد بحثت في قسم الإدارة > الإعدادات عن أي آثار لكلمة “staging”.

لقد اكتمل انتشار DNS منذ فترة طويلة.

أرى هذا المرجع القديم، ولا أعرف ما إذا كان ذا صلة.

إذا لم يكن هناك حل ممكن سوى التعديل اليدوي، هل توجد أي تلميحات حول كيفية العثور على جميع التكرارات؟ زر البحث لا يعمل بشكل جيد في هذه الحالة.

لقد قمت بذلك. كل شيء سار على ما يرام، باستثناء أن الروابط أصبحت غير صالحة الآن.

إذن أنت تقول أن عملية إعادة التوجيه و/أو إعادة البناء فشلت؟

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

نعم، يمكنني الآن القول إن عملية إعادة التوجيه فشلت.

> /var/www/discourse# discourse remap staging.example.com forum.example.com
> إعادة كتابة جميع حالات وجود staging.example.com إلى forum.example.com
> هذه المهمة ستعيد كتابة البيانات، هل أنت متأكد (اكتب YES)
> YES
> خطأ: ERROR: duplicate key value violates unique constraint "unique_post_links"
> التفاصيل: المفتاح (topic_id, post_id, url)=(8718, 57455, https://forum.example.com/t/exampletopic/4606/336) موجود بالفعل.
> تم تطبيق عملية إعادة التوجيه جزئيًا فقط بسبب الخطأ أعلاه. يرجى إعادة تشغيل السكربت مرة أخرى.

أعدت تشغيله حسب التعليمات وحصلت على نفس الخطأ، على نفس المفتاح (topic_id, post_id, url).

يمكنني الوصول إلى وحدة تحكم Rails وتشغيل بعض أوامر SQL/ActiveRecord إذا أخبرتني بما يجب تشغيله. أو استخدام Data Explorer.

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

بشكل مفارق، الموضوع المخالف رقم 8718 والمشاركة رقم 57455 موجودة في رسالة خاصة بين مستخدمين يشتكيان من أن الروابط معطلة!

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

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

لقد قمت بتنظيف عدد من المنشورات وتمكنت من إكمال إعادة الخريطة. ومع ذلك، توقفت عملية إعادة الخبز عند 30% بسبب أخطاء أدت إلى تعليق النظام، واضطررت إلى إعادة التشغيل. يتوفر للنظام ذاكرة ومساحة تخزين كافية.

سؤال: بعد إعادة التشغيل، يظهر في أداة ‘top’ عملية Ruby تستهلك 60% من وحدة المعالجة المركزية. هل هذه هي مهمة Rake؟ هل ستستمر بعد إعادة التشغيل؟

ربما يكون Sidekiq مشغولاً بإعادة الخبز. انتقل إلى /sidekiq في منتداك للتحقق.