حلقة لا نهائية في إرسال رسائل البريد الإلكتروني الملخصة

مرحبًا بالجميع.

دخل خادم Discourse الخاص بنا في حلقة لا نهائية لإرسال رسائل البريد الإلكتروني بشكل متواصل. إليك مخرجات ملف shared/standalone/log/rails/production.log:

Delivered mail 7db8eecd-c36a-419c-ae34-0561b08bae25@community.xx.cc (1322.2ms)
  Rendered user_notifications/digest.text.erb (Duration: 50.1ms | Allocations: 12577)
  Rendering user_notifications/digest.html.erb within layouts/email_template
  Rendered user_notifications/digest.html.erb within layouts/email_template (Duration: 139.5ms | Allocations: 26910)
  Rendering user_notifications/digest.text.erb
  Rendered user_notifications/digest.text.erb (Duration: 71.7ms | Allocations: 13505)
Delivered mail 5bbf2e54-96a8-437d-a032-69f98a00f22a@community.xx.cc (1485.2ms)
  Rendering user_notifications/digest.html.erb within layouts/email_template
  Rendered user_notifications/digest.html.erb within layouts/email_template (Duration: 70.9ms | Allocations: 20613)
  Rendering user_notifications/digest.text.erb
  Rendered user_notifications/digest.text.erb (Duration: 38.2ms | Allocations: 11390)

بدأ هذا يحدث فجأة (ربما عند بدء جدولة ملخصات البريد الإلكتروني):

الآن، يتم استخدام نواة معالج واحدة بالكامل لإرسال رسائل البريد الإلكتروني للملخصات.

  • إعادة بناء التطبيق لم تُجدِ نفعًا؛

  • تم التحديث إلى أحدث إصدار دون أي تغيير؛

  • تم تفعيل خيار “تعطيل رسائل البريد الإلكتروني الملخصة لجميع المستخدمين” وإعادة بناء التطبيق، لكن دون تغيير؛

    #### Installed
    
    ### 2.4.0.beta5
    

ما الذي يمكنني فعله بعد ذلك؟ كيف يمكنني إيقاف هذا؟
شكرًا مقدّمًا.

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

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

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

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

نعم، لكن هذا يحدث منذ 3 أيام بالفعل. جميع الرسائل الأخرى (مثل رسائل التسجيل) لم تعد تُسلم. يعمل المجتمع، لكن جميع عمليات البريد الإلكتروني لا تعمل.
وجدت مشكلة مشابهة جدًا - Extreme memory usage due to bad mail credentials. لذا يبدو أن هذا نوع من خطأ خادع.

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

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

هل كانت بيانات اعتماد البريد الإلكتروني لديك غير صحيحة؟

@codinghorror لقد وجدت السبب الجذري للمشكلة. قام مزود البريد الخاص بنا بإزالة سجلات المضيف المعتمدة لحسابنا (لأسبابهم الخاصة غير المبررة). كانت سجلات المضيف تُستخدم لتوفير حقل from في البريد الإلكتروني مع مضيفنا. لذا، بعد أن فعلوا ذلك، دخل discourse في حلقة لا نهائية. أعتقد أن هناك خللاً في تدفق discourse لهذه الحالة أيضاً، لأنه كان ينبغي أن يبلغ عن الخطأ ويتوقف عن استهلاك 100% من وحدة المعالجة المركزية.

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

إعجابَين (2)

أتفق، هذه حالة سيئة ويجب أن نتعامل معها بشكل أفضل.

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

هل عاد كل شيء إلى طبيعته الآن؟

نعم، بعد تغيير بيانات اعتماد البريد الإلكتروني.

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