mail handling: When exceptions occur during account/rule/message handling, paperless will continue with the next account/rule/message.

mail handling: When paperless encounters a very long

fixes #82
This commit is contained in:
jonaswinkler
2020-12-04 15:42:05 +01:00
parent 991a46c4f0
commit 371745b6dc
6 changed files with 197 additions and 140 deletions

View File

@@ -1,14 +1,20 @@
import logging
from paperless_mail.mail import MailAccountHandler
from paperless_mail.mail import MailAccountHandler, MailError
from paperless_mail.models import MailAccount
def process_mail_accounts():
total_new_documents = 0
for account in MailAccount.objects.all():
total_new_documents += MailAccountHandler().handle_mail_account(
account)
try:
total_new_documents += MailAccountHandler().handle_mail_account(
account)
except MailError as e:
logging.getLogger(__name__).error(
f"Error while processing mail account {account}: {e}",
exc_info=True
)
if total_new_documents > 0:
return f"Added {total_new_documents} document(s)."
@@ -21,4 +27,4 @@ def process_mail_account(name):
account = MailAccount.objects.get(name=name)
MailAccountHandler().handle_mail_account(account)
except MailAccount.DoesNotExist:
logging.error("Unknown mail acccount: {}".format(name))
logging.getLogger(__name__).error(f"Unknown mail acccount: {name}")