From d00285b11f11ffe71ecfde24b6ad10f6f8f7ce4d Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 14 Jun 2024 13:27:46 -0700 Subject: [PATCH] Wrap empty_trash in try/catch --- src/documents/tasks.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/documents/tasks.py b/src/documents/tasks.py index 25dea7a2a..31fc74d53 100644 --- a/src/documents/tasks.py +++ b/src/documents/tasks.py @@ -311,10 +311,15 @@ def empty_trash(doc_ids=None): ) ) - # Temporarily connect the cleanup handler (hard_delete calls delete) - models.signals.post_delete.connect(cleanup_document_deletion, sender=Document) - - for doc in documents: - doc.hard_delete() - - models.signals.post_delete.disconnect(cleanup_document_deletion, sender=Document) + try: + # Temporarily connect the cleanup handler (hard_delete calls delete) + models.signals.post_delete.connect(cleanup_document_deletion, sender=Document) + for doc in documents: + doc.hard_delete() + except Exception as e: # pragma: no cover + logger.exception(f"Error while emptying trash: {e}") + finally: + models.signals.post_delete.disconnect( + cleanup_document_deletion, + sender=Document, + )