لديّ شك: نحن أيضًا نغذي نظام Discourse الخاص بنا برسائل بريد إلكتروني من قوائم البريد. إذا تم تحرير رسالة قديمة كانت معلقة للمراجعة بواسطة مشرف قائمة البريد، فقد يعتبرها فلتر Discourse قديمة جدًا. بسبب أمر break، سيتوقف حلقة التكرار. وبالتالي، قد تؤدي رسالة قديمة واحدة إلى إيقاف معالجة جميع الرسائل اللاحقة.
أوه، وبسبب ترتيب خادم بريد POP هذا، سيتم المعالجة من الأقدم إلى الأحدث.
ماذا عن هذا التصحيح @gerhard؟ كما يُفضّل استخدام Discourse.handle_job_exception إن أمكن للإبلاغ الصحيح عن أي أخطاء أخرى.
- break if mail_too_old?(mail_string)
+ next if mail_too_old?(mail_string)
شكرًا للتوضيح. هذا منطقي.
@riking أتفق، يجب أن يعتمد الإصلاح الصحيح على handle_job_exception. لا تتردد في إنشاء طلب سحب. ![]()
هذا يجب أن يحل المشكلة.