I have a client for whom embedded youtube videos are missing. They appear in composer’s preview, but when the messages are saved, they disappear. They are working fine in try.discourse.org. I tried whitelisting youtu.be and changing the URL to a youtube.com url too. Neither solved the problem.
It seems that the problem was that recent Discourse updates have caused my DOI resolver plugin to muck things up. (I disabled a couple other things too, but it was definitely some plugin. . . )
في الآونة الأخيرة، بعد سلسلة من التغييرات والترقيات على تثبيت Discourse الخاص بي، هناك شيئين فقط مفقودين. أحدهما عدم القدرة على إعادة بناء حاوية البيانات، وأنا أحاول حل هذه المشكلة، أما الآخر فهو أن جميع الصناديق تعمل باستثناء عناوين YouTube.
من داخل الخادم والحاوية، يمكنني استخدام CURL للوصول إلى YouTube، فكيف يمكنني التأكد من أن السبب هو حظر مؤقت لعنوان IP؟
تعديل: يمكنني تأكيد أن إعادة البناء (التطبيق) ولا إعادة التشغيل لا يؤثران على هذه المشكلة.
تعديل 2: من خلال البحث، رأيت أن @jomaxro علّق هنا أن أشياء مثل CloudFlare يمكن أن تؤثر على الصناديق… هل يمكن لشبكة CDN أن تؤثر على صندوق واحد فقط؟ حاولت وضعها في وضع التطوير ولكن لم يحدث أي تغيير.
تعديل 3: حاولت إزالة جميع الإضافات. لم يتغير شيء. (أيضًا، لا يمكنني إعادة التشغيل لأن العمليات تبدو وكأنها تتقاطع مع بعضها البعض).
تعديل 4: جربت أمر @Overgrow ونعم، في الحقيقة لدي مشكلة
[1] pry(main)> posts = Post.where("raw like '%youtube%'").count
=> 72674
أواجه صعوبة في تشغيل أوامر إعادة التشغيل لأن الحاوية ترسل لي هذا الخطأ:
لا يلزم استخدام تعبير نمطي (Regex) لمطابقة نص في منشور. يكفي البحث البسيط عن النص youtube (على سبيل المثال) بشكل جيد. في هذا المثال، سيتم إعادة معالجة كل منشور يحتوي على النص youtube، واحدة كل 100 ثانية (بطيء جدًا…)
مرّ حوالي 100 ثانية:
سأترك هذا الأمر يعمل، وأتوقع أن تكتمل مهمة Rake هذه خلال 76,200 ثانية تقريبًا، زائدًا أو ناقصًا
يبدو أنني كان يجب أن أجعل هذا المثال بإبطاء 10 ثوانٍ فقط
كان قصدي أنني شغّلت الأمر على عينة صغيرة ثم أعدت تشغيله، لكن الرقم لم يتغير.
أي: شغّلت الأمر وكان لدي 76000 منشور، ثم تم تجهيز 200 منها وتوقف، ثم شغّلته مرة أخرى وأصبح العدد الجديد 76200 (نعم، ربما أضاف مستخدمو 400 منشورًا يتضمن يوتيوب… لكن… لا أعرف).
الآن أقوم بتشغيله مرة أخرى فقط لأرى كيف يسير الأمر، لكنه سيستغرق بعض الأيام (76500 ضربة…)
وبما أن لا أحد آخر يواجه هذه المشكلة، فأنا أحاول التفكير في المتغيرات الخاصة بي، وبشكل أساسي:
تغيير الجهاز (لذا قد يكون الأمر مرتبطًا بحدود معدل يوتيوب؟)
استعادة نسخة احتياطية من Discourse على تثبيت جديد (هذا لا ينبغي أن يكون مرتبطًا، لكن في هذه المرحلة أراهن على كل ما يتحرك)
تثبيت عبر حاويتين (ظننت أن هناك مشكلة في إعادة بناء البيانات، لكن بفضل هذه المعلومة من @Falco الآن أعرف أن الأمر “طبيعي”.)
إضافة CloudFlare فوقه اتباعًا لدروس CDN الموجودة هنا.
ثم قلت لنفسي: “حسنًا، بالطبع، يجب إضافة المؤقت، وإلا لا يمكننا اختبار ‘نظرية حد المعدل’”، لذا جربت الأمر الذي نشرته أنت:
root@cont-web-only:/var/www/discourse# time rake posts:rebake_match['youtube',string,100]
216 / 76594 (0.2%)-
وتوقفت عنه فقط للتحقق مما إذا كانت الأمور تتغير. يبدو أن لا شيء حدث، لذا فكرت: “حسنًا، دعني أعيد تشغيل هذا وأرى كيف يسير الأمر”:
root@cont-web-only:/var/www/discourse# time rake posts:rebake_match['youtube',string,100]
116 / 76598 (0.2%)-
هذا قيد التشغيل حاليًا. لذا كان حججي هي أن العدد الإجمالي للمنشورات لم ينخفض مع إعادة المعالجة السابقة. (قد أكون مخطئًا في هذا المنطق، وربما أنا كذلك).