한 가지 의심이 듭니다: 우편 목록(mailing list)의 이메일로도 Discourse를 공급하고 있습니다. 만약 중재(moderation)를 위해 보류되었던 오래된 메시지가 우편 목록의 중재자에 의해 승인되면, 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을 생성해 주세요. ![]()
이것으로 수정될 것입니다.