perf(transfer): break on old mail instead of continue - newest-first scan
This commit is contained in:
parent
23b0efe452
commit
dd72fb77d9
@ -176,7 +176,7 @@ class TransferGateway(Gateway):
|
||||
try:
|
||||
mail_date = parsedate_to_datetime(mail_date_str)
|
||||
if mail_date < cutoff:
|
||||
continue
|
||||
break # 从新到旧扫描,遇旧邮件停止
|
||||
except:
|
||||
continue
|
||||
else:
|
||||
@ -265,19 +265,16 @@ class TransferGateway(Gateway):
|
||||
idx = str(i)
|
||||
|
||||
mail_date_str = getattr(mail, 'date', None)
|
||||
skip_date = False
|
||||
if mail_date_str:
|
||||
try:
|
||||
mail_date = parsedate_to_datetime(mail_date_str)
|
||||
if mail_date < cutoff:
|
||||
skip_date = True
|
||||
debug('mail[' + idx + '] date=' + str(mail_date_str) + ' older than 2 days, stop scanning')
|
||||
break # 从新到旧扫描,遇到旧邮件后面都更旧
|
||||
except Exception as de:
|
||||
debug('mail[' + idx + '] date parse error: ' + str(mail_date_str) + ' -> ' + str(de))
|
||||
else:
|
||||
debug('mail[' + idx + '] no date header, skipping date filter')
|
||||
skip_date = True # 没有日期头的邮件跳过
|
||||
if skip_date:
|
||||
debug('mail[' + idx + '] date=' + str(mail_date_str) + ' older than 2 days or no date, skip')
|
||||
debug('mail[' + idx + '] no date header, skip')
|
||||
continue
|
||||
|
||||
from_addr = getattr(mail, 'mailfrom', '?')
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user