From 20fd21e429b237d803dc030b310d474d255afd34 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Wed, 23 Nov 2022 19:15:31 +0100
Subject: [PATCH] Fix send_notification_for_done_task to work only with tasks
 started in foreground

---
 CHANGELOG.rst         | 6 ++++++
 aleksis/core/tasks.py | 7 ++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index b38015dc1..fd63ee124 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -20,6 +20,12 @@ Changed
 
 * Rewrite of frontend using Vuetify
 
+Fixed
+~~~~~
+
+* The system tried to send notifications for done background tasks
+  in addition to tasks started in the foreground.
+
 Removed
 ~~~~~~~
 
diff --git a/aleksis/core/tasks.py b/aleksis/core/tasks.py
index 8306203ee..c7c6e1997 100644
--- a/aleksis/core/tasks.py
+++ b/aleksis/core/tasks.py
@@ -66,6 +66,11 @@ def send_notification_for_done_task(task_id):
     # Wait five seconds to ensure that the client has received the final status
     time.sleep(5)
 
-    assignment = TaskUserAssignment.objects.get(task_result__task_id=task_id)
+    try:
+        assignment = TaskUserAssignment.objects.get(task_result__task_id=task_id)
+    except TaskUserAssignment.DoesNotExist:
+        # No foreground task
+        return
+
     if not assignment.result_fetched:
         assignment.create_notification()
-- 
GitLab