إشعارات متكررة من منشور المستخدم بسبب إضافة متابعة المستخدم

مرحباً يا رفاق،

لديّ شكوى سريعة: منذ أن استعدت موقعي من نسخة احتياطية، كلما ردّ مستخدم محدد على موضوع، يتم توليد إشعارات “تعديل” مستمرة للمستخدم الذي أنشأ الموضوع أو الذي تم الرد عليه.

حاولت التحقيق ويبدو أن هناك شيئاً غريباً في Sidekiq، حيث تتراكم بعض الوظائف في قسم “إعادة المحاولة” ولا تنجح أبداً. بعد إزالتها، تتوقف الإشعارات (حتى ينشر الشخص في موضوع آخر، فيتم توليد إشعار جديد).

تتمتع الرسائل بالتنسيق التالي:

وقت إعادة المحاولة التالي عدد المحاولات الطابور الوظيفة المعاملات الخطأ
خلال دقيقة واحدة 10 default Jobs::PostAlert {“post_id”=>25977142, “new_record”=>true, “options”=>nil, “current_site_id”=>“default”} Jobs::HandledExceptionWrapper: Wrapped ActiveRecord::RecordNotFound: Couldn’t find User with ‘id’=1452

من ما أستنتجه هنا، يبدو أن المستخدم غير موجود (على الرغم من أن هذا يحدث مع منشورات مستخدم موجود ونشط). لذا ربما يكون مستخدماً آخر. هل هناك استعلام أو شيء يمكنني القيام به للتحقق من ذلك مرة أخرى؟

حاولت البحث في الوثائق، لكنني إذا كنت بحاجة إلى “إصلاح” شيء ما، فأنا قلق من أن أفسد شيئاً ما :sweat_smile:

ممتن لأي مساعدة!

تحديث صغير:

  • يحدث فقط مع مستخدم واحد محدد.
  • يظهر في إشعارات المستخدمين وكأن كل رسالة كتبها ذلك المستخدم يتم “تعديلها” (أي: إذا كان يرد على مستخدم آخر، فسيحصل ذلك المستخدم على إشعارات “تعديل” متكررة بشأن ذلك المنشور).
  • إعادة البناء لا تؤثر على المشكلة.
  • حذف مهمة إعادة المحاولة في Sidekiq يبدو أنه يوقف المشكلة إلى الأبد لتلك الإشعارات، لكن مع كل منشور جديد من ذلك المستخدم، تعود المشكلة من جديد.

تعديل سريع:

  • حاولت الاستعلام عن ذلك المستخدم، لكنه غير موجود، ولا أفهم كيف يرتبط هذا بمستخدم موجود (ربما الاستعلام خاطئ؟). في صفحة المسؤول، بالنظر إلى هذا المنشور لكل من الاستعلام وعنوان URL الخاص بالمسؤول، أرى مستخدمًا برقم “1451” وآخر برقم “1453”، لكن (كما يشير الخطأ) لا يوجد مستخدم برقم “1452”. والمستخدم الذي “يُطلق” هذه المشكلة هو مشرف، ورقم هويته هو 55 :stuck_out_tongue:

تعديل سريع +:

  • كنت أفكر هنا. هل يمكن لأحد إخباري بعواقب “حقن” ما يُسمى بـ “المستخدم المفقود” الذي أراه في الأخطاء؟ أي، إذا أضفت ذلك السطر إلى قاعدة البيانات، هل ستتوقف Sidekiq والمهام عن الفشل؟

هل تستخدم إضافة “متابعة المستخدم” بالصدفة؟ لقد واجهت مشكلة مماثلة حيث لم يتم حذف المستخدمين المحذوفين من قائمة متابعي شخص ما، وتوقفت الإشعارات في حلقة متكررة. كان حلّي هو حذف بعض السجلات يدويًا من قاعدة البيانات. تم إصلاح المشكلة في الإضافة، لكن إذا كنت تستخدم إصدارًا أقدم، فقد تواجه هذه المشكلة بعد.

يا له من ديسكورد! نعم، أستخدمها! :stuck_out_tongue:

سأتحقق من الإصدار للتأكد مما إذا كان هناك ارتباط. ألف شكر لك يا @bartv!

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

https://meta.discourse.org/t/follow-plugin/110579/41?u=bartv