رسائل البريد الإلكتروني الملخصة لا ترسل إلى جميع المستخدمين – بحاجة لمساعدة في التصحيح

@Canapin لم نرَ أيضًا أي وثائق تشير إلى أن هذا الإعداد متعلق بالبريد الإلكتروني… من الجيد معرفة مكانه يا @Heliosurge لذا شكرًا على الإشارة إليه.

يوم آخر دون إنشاء أي ملخص. لقد نشرنا موضوعًا جديدًا لتشغيل الأشياء في الـ 24 ساعة الماضية ولم يحدث شيء…

هل لدى أي شخص أي أفكار أخرى هنا؟ هل نفتقد سجلًا في مكان ما؟ هل يفشل شيء ما في مكان ما يمكننا رؤيته وتصحيحه؟

بالتفكير في هذا، نفترض أن المشكلة تتعلق بعدد المستخدمين في النظام. الغريب هو أن هذا لم يتغير بأكثر من 10 منذ الإطلاق على discourse.

لدينا تقريبًا:

  • مليون مستخدم نشط
  • 2.4 مليون مستخدم تم إلغاء تنشيطهم

ربما هناك مهلة غريبة تحدث عندما يقوم النظام بهذا البحث؟ أين سنرى هذا الناتج إذا فشل؟

مرة أخرى، يبدو غريبًا أن تكون هذه هي المشكلة نظرًا لأن الملخصات كانت تُرسل، على الأقل بكمية محدودة قبل أسبوع أو أسبوعين.

إعجاب واحد (1)

ربما، أو شيء آخر يجعل الملخص فارغًا، وبالتالي لا يتم إرساله للمستخدمين.

لا أعرف كيف يتم إنشاء الملخص. لا أعرف ما إذا كان يأخذ في الاعتبار الفئات التي يتجاهلها المستخدم، أو أشياء من هذا القبيل.

أفترض أن المستخدمين لديك لن يتلقوا الملخص إذا أرسلته يدويًا عبر وحدة تحكم Rails؟

user = User.find_by(username: 'user-name')
Jobs.enqueue(:user_email, type: :digest, user_id: user.id)

بعد ثوانٍ قليلة من تشغيل هذا، يجب أن ترى وظائف Sidekiq المعالجة تزداد بمقدار 1، ولكن إذا كان لديك منتدى كبير فقد تكون هناك الكثير من وظائف Sidekiq في أي وقت، لذلك قد يكون من الصعب معرفة ما إذا كانت قد زادت.
يمكنك استخدام زر Live Poll لرؤيته في الوقت الفعلي:

من اختباري، إذا قمت بتشغيل نص Rails البرمجي لإرسال الملخص إلى مستخدم، ولكن الملخص فارغ:

  • لأن المستخدم استلمه سابقًا
  • أو قام بتعطيل ملخصات البريد الإلكتروني في ملفه الشخصي
  • إلخ…

فإن عدد وظائف Sidekiq المعالجة سيزداد بمقدار واحد، ولكن لن يتم إرسال أي بريد إلكتروني، ولن يكون هناك إدخال جديد في /admin/email/sent.

ربما يمكنك تسجيل وظائف Sidekiq المعالجة لمعرفة ما إذا كانت هناك أي أدلة في ذلك. لقد بحثت قليلاً، لكنني لست متأكدًا مما إذا كان يسجل الوظائف التي تمت معالجتها افتراضيًا.

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

إعجاب واحد (1)

سيكون من السهل جدًا إضافة مخرجات تصحيح الأخطاء إلى آلية إرسال الملخص.
هل لديك موقع تجريبي متاح، حيث يمكنك الاختبار دون التأثير على نسخة الإنتاج الخاصة بك؟

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

يمكنك أيضًا تحسين الاستعلام الذي يبني الأشخاص المستهدفين بإخراج إحصائي.

كل هذا ليس صعبًا في بيئة معزولة ولكنه قد يكون خطيرًا في بيئة الإنتاج.

إعجابَين (2)

يستمر في: