بعض الصور المرتبطة لا تظهر أو تظهر كصور مكسورة

أنا أقوم بنقل كمية كبيرة من المحتوى، حوالي 15 ألف قصة إخبارية، إلى Discourse عبر واجهة برمجة التطبيقات (API)، وهذه المواضيع تحتوي على روابط لصور. تم رفع الصور مؤخرًا إلى تخزين الكائنات (blob storage) وهي متاحة للجمهور بالكامل.

تظهر الصور في معظم المواضيع بشكل صحيح ويتم تحميلها عبر الروابط المباشرة (hotlink) ورفعها إلى Discourse كما هو متوقع. ومع ذلك، إما أن بعض المواضيع لا تتجاوز مرحلة عرض الروابط في الموضوع، أو تنتهي بإظهار صور معطلة لسبب ما.

أيضًا:

تبقى كروابط فقط:

تظهر معطلة:

في الحالة المعطلة، يظهر الموضوع عند التعديل على النحو التالي:

الإعدادات هي:
تثبيت نظيف من Discourse فقط لاختبار عملية النقل
تخزين الصور على S3

لم أواجه أي مشاكل عند إنشاء منشورات كمستخدم ورفع الصور، ويبدو أن المشكلة تحدث فقط عند نقل المنشورات عبر واجهة برمجة التطبيقات، أي بشكل جماعي وبسرعة (أستخدم معامل skip_validations=true). حتى الآن، قمت بنقل ما يصل إلى 1000 موضوع كحد أقصى قبل مسح البيانات والبدء من جديد.

هل لديكم أي أفكار حول ما قد يسبب ذلك؟ أو أي نصائح حول كيفية التشخيص؟ تبدو جميع مهام Hotlink Sidekiq مخططة وتعمل كما هو متوقع.

rake posts:rebake لا يساعد

ماذا عن خيار إعادة بناء HTML مع مفتاح wrench الصغير للإدارة؟

image

ملفك يحتوي على امتداد مزدوج - .jpeg.jpg - هل ينطبق ذلك على جميع الملفات التي تم رفضها؟

هل تم معالجة أي ملفات ذات امتداد مزدوج بنجاح؟

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

سأحتاج إلى التحقق مما إذا كان يمكن أتمتة هذه العملية، رغم أنها لا تعالج السبب الجذري لفشلها من الأساس.

لا، فإن الصور ذات الامتداد المزدوج تشكل قلة ولا تمثل جميع حالات الفشل. ومع ذلك، فإن خيار إعادة بناء HTML يحل هذه الحالات أيضًا.

هذا رائع ومبارك لك، :partying_face: لحسن الحظ تعلمت ذلك من أشخاص آخرين مفيدون هنا عندما واجهت مشكلات مماثلة، وسعيد لأنني تمكنت من نقله إليك :sunglasses:

حسنًا، قمت بإصلاح جميع المنشورات المنقولة عبر واجهة برمجة التطبيقات باستخدام /posts/{num}/rebake. بشكل غريب، لم يعمل أمر rake posts:rebake داخل الحاوية.

بعد أتمتة استدعاء واجهة برمجة التطبيقات لإعادة الخبز، اتضح أن معدل فشل تحميل الصور يبلغ حوالي 80%. هذا أمر مذهل حقًا.

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

هناك عدد قليل من الاقتراحات في هذه المشاركة قد تكون مفيدة لإصلاح الصور المعطلة: Rebake with rails command or rake task doesn't work, but rebuilding HTML does. Why? - #12 by RGJ.