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:
|
try:
|
||||||
mail_date = parsedate_to_datetime(mail_date_str)
|
mail_date = parsedate_to_datetime(mail_date_str)
|
||||||
if mail_date < cutoff:
|
if mail_date < cutoff:
|
||||||
continue
|
break # 从新到旧扫描,遇旧邮件停止
|
||||||
except:
|
except:
|
||||||
continue
|
continue
|
||||||
else:
|
else:
|
||||||
@ -265,19 +265,16 @@ class TransferGateway(Gateway):
|
|||||||
idx = str(i)
|
idx = str(i)
|
||||||
|
|
||||||
mail_date_str = getattr(mail, 'date', None)
|
mail_date_str = getattr(mail, 'date', None)
|
||||||
skip_date = False
|
|
||||||
if mail_date_str:
|
if mail_date_str:
|
||||||
try:
|
try:
|
||||||
mail_date = parsedate_to_datetime(mail_date_str)
|
mail_date = parsedate_to_datetime(mail_date_str)
|
||||||
if mail_date < cutoff:
|
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:
|
except Exception as de:
|
||||||
debug('mail[' + idx + '] date parse error: ' + str(mail_date_str) + ' -> ' + str(de))
|
debug('mail[' + idx + '] date parse error: ' + str(mail_date_str) + ' -> ' + str(de))
|
||||||
else:
|
else:
|
||||||
debug('mail[' + idx + '] no date header, skipping date filter')
|
debug('mail[' + idx + '] no date header, skip')
|
||||||
skip_date = True # 没有日期头的邮件跳过
|
|
||||||
if skip_date:
|
|
||||||
debug('mail[' + idx + '] date=' + str(mail_date_str) + ' older than 2 days or no date, skip')
|
|
||||||
continue
|
continue
|
||||||
|
|
||||||
from_addr = getattr(mail, 'mailfrom', '?')
|
from_addr = getattr(mail, 'mailfrom', '?')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user