نحن نستخدم المكون الإضافي rss-polling لاستيراد الإدخالات من عشرات خلاصات RSS. من وقت لآخر، تختفي بعض الخلاصات من القائمة. لا نعرف تحت أي ظروف، ولا نعرف كيف، ولا يمكننا العثور على أي سجل لمثل هذا الإجراء. لم نجد نمطًا أيضًا. إنها تختفي ببساطة، ونحتاج إلى إنشاء إدخالات جديدة لها مرة أخرى (عندما ندرك أنها اختفت، وهو أمر ليس سهلاً مع وجود العديد من الخلاصات).
هل هناك وظيفة مكتوبة في الكود من شأنها أن تزيل خلاصة RSS في ظل ظروف معينة؟ هل هناك سجل يسجل متى يحدث هذا؟
الشيء الوحيد الذي نفعله بخلاصة RSS هو إنشاء خلاصة جديدة يدويًا على /admin/plugins/rss_polling. لا شيء آخر.
لقد لاحظت أن ترتيب خلاصات RSS في تلك الصفحة يتغير من وقت لآخر، وهذا غريب بالفعل ولا يساعد في تصحيح الأخطاء لأن الترتيب الزمني لإنشاء الخلاصة مفقود، ويبدو أن الفرز الجديد لا يتبع أي فرز أبجدي أو رقمي.
لا نعرف كم مرة تحدث هذه المشكلة لأننا لا نستطيع اكتشافها فور حدوثها. في أفضل الأحوال، يمكننا فقط انتظار مالك الخلاصة ليخبرنا أن الإدخالات الجديدة لا تظهر، أو ندرك بأنفسنا أن، على سبيل المثال، بودكاست أسبوعي قد صمت في المنتدى مؤخرًا.
لدي انطباع بأن هذه المشكلة قد تكون مرتبطة بمواقف يقترب فيها استخدام وحدة المعالجة المركزية من 100٪، أو شيء آخر في الخادم يصل إلى سعته القصوى. حتى لو قام المجدول بعمل جيد في استطلاع 5 خلاصات فقط في كل مرة، يمكننا أن نرى في تحليلات الاستضافة أنه عندما يتم تحديث خلاصات RSS، تصل وحدة المعالجة المركزية إلى 100٪ تقريبًا.
ربما لهذا السبب لا تلاحظ المنتديات التي تحتوي على عدد قليل من الخلاصات ذلك، ولكن إذا أضفت الكثير، فقد يتعطل شيء ما في بعض الأحيان بغض النظر عن المجدول؟
على أي حال، أتساءل لماذا يجب على Discourse حذف خلاصات RSS في المقام الأول، والقيام بذلك بصمت. إذا كانت خلاصة RSS تمثل مشكلة لسبب ما، فيمكنها تخطيها هذه المرة وتسجيل المشكلة. من هذه النقطة يمكن أن يحدث شيئان:
كانت مشكلة عرضية وستعمل عمليات الجدولة التالية بشكل جيد. سيتم نسيان إدخال السجل.
تستمر المشكلة، وكل تخطي يترك إدخالاً في سجل الأخطاء، وعندما يدرك شخص ما أن هناك مشكلة، يمكن للمسؤولين التحقق من سجل الأخطاء والعثور على التفاصيل.
من الناحية المثالية، سيحصل المسؤولون على نوع من الإشعار، لكنني أتفهم إذا كان هذا يضيف المزيد من العمل إلى حل محتمل. التخطي بدلاً من الحذف + إدخال سجل الأخطاء سيكون تحسينًا كبيرًا بالفعل.
ولشرح تأثير هذه المشكلة على مشروعنا. لدينا بوابة بودكاست مستقلة، يتصلون بنا للتجميع، ونقوم بإنشاء قناة (فئة فرعية) حيث يتم استيراد برامجهم وحيث يمكن للمستمعين الإعجاب والتعليق… هذا يعطي انطباعًا سيئًا جدًا عن مشروعنا ومنصة Discourse عندما يدركون أننا توقفنا عن تجميعها وعلينا أن نجيبهم بأن خلاصتهم قد تم حذفها بطريقة ما…
لنبدأ بهذا الإصلاح في الوقت الحالي. لا أقول إن هذا هو سبب اختفاء خلاصات الأخبار بشكل غامض، ولكن إضافة مربع حوار تأكيد على الأقل قبل حذف خلاصات الأخبار فعليًا هو بداية.
سأعمل لاحقًا على المزيد من التحسينات عندما يكون لدي المزيد من الوقت. أريد إضافة واجهة مستخدم مناسبة لتحرير/حفظ خلاصات الأخبار الفردية بدلاً من مجرد تحديث/حفظ كل منها عند كل تحرير.
@icaria36 إذا قمت بتحديث المكون الإضافي الخاص بك، فستحصل على هذا التغيير الأخير. سأتابع مرة أخرى عندما تكون المزيد من التحسينات جاهزة.
شكراً على التصحيح! لقد قمت بالترقية فوراً إلى الإصدار الجديد وأضفت خلاصات RSS المفقودة (حوالي 20!)، واليوم تحققت و… تمت إزالة الخلاصات بصمت مرة أخرى. لا أعرف متى، لا أعرف كيف، لا أزال لا أعرف أي منها، ولكن هناك حوالي اثنتي عشرة مفقودة. لم أر أي مربع حوار يسأل عن الخلاصات قبل إزالتها، أو أي شيء على الإطلاق. أيضًا، لقد اهتممت بإعادة إضافة خلاصات RSS عندما كانت وحدات المعالجة المركزية للخادم جيدة، متجنبًا وقت استطلاع RSS، فقط لإزالة هذا العامل من المعادلة.
لدي انطباع بأن هناك علاقة بين حقيقة أن القائمة تغير ترتيبها وحقيقة اختفاء الخلاصات. أي شيء يسبب تغيير الترتيب قد يكون صادمًا بما يكفي ليسبب خسائر أيضًا. قد يكون السؤال المفيد هو: لماذا تتغير القائمة بترتيبها في المقام الأول؟ اختفاء الخلاصات بينما يظل ترتيب القائمة كما هو سيكون سيئًا بنفس القدر، ولكنه سيبدو… أنظف.
هذه المشكلة مملة للإصلاح من جانبنا (معرفة الخلاصات المفقودة قبل أن يلاحظها أصحابها ويطلبونها + إعادة إضافة إدخالات الخلاصات) ولكنها مملة حتى للكشف عنها، لأن الطريقة الوحيدة هي التحقق من فئة-خلاصة بعد فئة-خلاصة لمعرفة أي منها مفقود - أو على الأقل العد يدويًا لعدد الخلاصات الموجودة مقارنة بالوقت الأخير الذي قمنا فيه بالعد.
ستوفر أداة توفير كبيرة للوقت لتصحيح الأخطاء وهي وجود سلسلة نصية تعرض العدد الإجمالي للخلاصات في /admin/plugins/rss_polling، أي فقط “N خلاصات”. و/أو ترقيم القائمة.
شكراً جزيلاً على سرعة استجابتك! سأقوم بالترقية الليلة، وسأتأكد من تمكين جميع خلاصاتنا، وسأبلغ هنا إذا كان هناك أي شيء (نأمل ألا يكون هناك شيء على الإطلاق!).
رائع، هذا أفضل بكثير! يتم تحرير كل تغذية بشكل فردي، مع حفظ تغيير واحد في كل مرة. حفظ تغذية جديدة هو إجراء فوري. في السابق، عندما كان لديك العديد من التغذيات، كان إضافة تغذية جديدة والضغط على أيقونة الحفظ يعني بضع ثوانٍ من المعالجة قبل تحديث القائمة بالكامل. هذا يبدو قوياً وجديراً بالثقة. شكراً جزيلاً!
سأنتظر بضعة أسابيع للتحقق من عدم فقدان أي تغذيات.
بعض الاقتراحات لتحسين واجهة المستخدم، فقط في حال كانت مفيدة وتأتي في وقت مناسب:
زر “+” لإضافة تغذية جديدة موجود في الأعلى ولكن الصف الجديد يضاف في الأسفل. إذا كانت قائمة التغذيات أطول من الشاشة، ينقر المستخدم على “+” ولا يرى أي شيء يحدث. أنا أعرف هذه الصفحة جيداً، وفي البداية اعتقدت أن الزر معطل. ثم فكرت في التحقق من نهاية القائمة وهناك كان صف جديد ينتظر، تماماً كما كان من قبل.
إضافة الصف الجديد في بداية القائمة، مباشرة أسفل زر “+”، قد يكون بديلاً جيداً. إذا كان هذا يضع التغذية الجديدة في أعلى القائمة، فهذا جيد أيضاً إذا كانت تأتي أولاً في المجدول. التغذيات الجديدة لديها فرص أكبر لجلب المزيد من العمل والأشياء للتحقق منها مقارنة بالتغذيات الراسخة.
هناك بعض النصوص “Feed Settings” و “Discourse Settings” التي تبدو وكأنها معلقة هناك. “Feed Settings” تبدو زائدة عن الحاجة، نظراً لأن القائمة موجودة أسفلها وتشرح نفسها بنفسها. هل “Discourse Settings” من المفترض أن تكون رابطاً إلى /admin/site_settings/category/plugins?filter=plugin%3Adiscourse-rss-polling؟ أو ربما هي ألسنة تبويب لصفحتين فرعيتين مختلفتين؟
نعم، نقطة جيدة. سأضع هذا في الاعتبار. لدينا هذا الموضوع الجديد نسبيًا حول Creating consistent admin interfaces وأعتقد أن بعض التحسينات على المكون الإضافي للاستطلاع RSS ستتدفق من ذلك. على الأرجح، أتخيل أننا سننشئ شاشة تحرير منفصلة كما نفعل للمكونات الإضافية الأخرى بدلاً من تحرير الأشياء في مكانها.
نعم، شكراً على لفت انتباهي لهذا. يمكنني أن أرى كيف يكون هذا مربكًا. “إعدادات الموجز” هي تسمية للعمودين الأولين تشير إلى أن هذين العمودين يؤثران على موجز RSS. تسمية “إعدادات Discourse” هي للأعمدة الثلاثة الأخيرة تشير إلى أنه عند تعديلها فإنها تؤثر على الأشياء في Discourse.