懸念があります:当社の 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 を使うべきです。PR を作成してください。![]()
これで解決するはずです。