tl;dr أود أن أضيف أننا نواجه نفس المشكلة على ما يبدو. إذا كانت هناك مشكلة في حد المعدل (rate-limit) بسبب تغيير حديث، فأعتقد أن مستخدمين آخرين سيبدأون في مواجهتها أثناء الهجرة أو إعادة معالجة المنشورات، أو ربما ببساطة بسبب نشاط مكثف في المنتدى. حقيقة أن “واين بوكس” (onebox) يفشل ظاهريًا بصمت تعني أن هذه المشاكل لا تظهر إلا عندما يبدأ المستخدمون في الشكوى من غياب مربعات يوتيوب.
الخلفية
نحن نستخدم الإصدار 2.6.0.beta 1
كان المستخدمون يتلقون رسائل حول محتوى غير آمن. وعند التحقيق، بدا أن متصفح كروم يشتكي من الصور المرتبطة من مواقع تستخدم بروتوكول HTTP. لذا قمت بضبط Discourse لتحميل جميع الصور والوسائط وتقديمها عبر HTTPS.
بمجرد تغيير الإعداد، تطلب ذلك إعادة معالجة (re-bake) للمنشورات التاريخية. ومنذ تلك المعالجة، تغيرت كثير من مقاطع فيديو يوتيوب التي كانت سابقًا معروضة كـ “واين بوكس” إلى روابط عادية.
لدينا موضوع واحد يحتوي على 10,000 منشور يتكون حصريًا من ردود تحتوي على مقاطع فيديو من يوتيوب، وجميع المنشورات عبارة عن روابط وليست “واين بوكس”.
أثناء إعادة المعالجة، تم تنفيذ جميع الوظائف المجدولة بشكل طبيعي، لذا لا توجد وظائف عالقة في قائمة انتظار للحذف.
لم أرَ رسائل الخطأ نفسها التي وصفها @marcozambi، لكنني أعتقد أننا نتجاوز حد المعدل أيضًا.
ما الذي جربته؟
دعمًا لنظرية حد المعدل، فإن قطعة صغيرة من الكود التي كتبتها لإعادة معالجة المنشورات نجحت (حولت إلى “واين بوكس”) في أول 80+ فيديو من يوتيوب في موضوع ما، ثم فشلت في تحويل الفيديوهات المتبقية.
عند هذه النقطة، حتى عند تعديل المنشور وإجراء تعديل بسيط ثم حفظه مرة أخرى، لم يُجبر الرابط على التوسع كـ “واين بوكس”. وفي الوقت نفسه، كانت جميع قوائم الانتظار فارغة أو تحتوي على وظائف بسيطة تتم معالجتها فورًا كما هو متوقع.
حاولت إعادة تشغيل هذا الكود على مدار 30 دقيقة، لكنه فشل في إجبار الروابط على التحول إلى “واين بوكس”. لا أعتقد أن الرقم 80 سحري هنا، بل هو مجرد ما كان متاحًا من الحصة التي نملكها.
ذكر @marcozambi أن رابط يوتيوب بصيغة /embed/ نجح بينما فشلت الروابط الأخرى، لذا قمت بتعديل الكود لاستخدام بحث واستبدال عبر تعبيرات نمطية (regex) لتحويل روابط يوتيوب إلى صيغة /embed/.
نجح الكود.
إعادة تشغيل الكود لإعادة معالجة المنشورات فقط لم ينجح في تحويلها إلى تمثيلات “واين بوكس”.
خطتي هي تجربة مهمة تحول جميع روابط يوتيوب في الموضوع الكبير إلى صيغة /embed/. إذا فشلت هذه المحاولة أو تجاوزنا حد معدل أعلى، فسألقي نظرة على أداة Onebox Assistant الخاصة بـ @merefield.
سأشارك تحديثًا لاحقًا.