]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Fix: ignore incomplete tasks for system status 'last run' fix-10632 10641/head
authorshamoon <4887959+shamoon@users.noreply.github.com>
Wed, 20 Aug 2025 19:19:11 +0000 (12:19 -0700)
committershamoon <4887959+shamoon@users.noreply.github.com>
Wed, 20 Aug 2025 19:24:23 +0000 (12:24 -0700)
src/documents/views.py

index 111df9f2fc4430d7ad4f0423cdeb4d048deb6729..90315aa9ba011dfc41d41f4c8b1ded04a17dd24e 100644 (file)
@@ -2836,6 +2836,11 @@ class SystemStatusView(PassUserMixin):
         last_trained_task = (
             PaperlessTask.objects.filter(
                 task_name=PaperlessTask.TaskName.TRAIN_CLASSIFIER,
+                status__in=[
+                    states.SUCCESS,
+                    states.FAILURE,
+                    states.REVOKED,
+                ],  # ignore running tasks
             )
             .order_by("-date_done")
             .first()
@@ -2845,7 +2850,7 @@ class SystemStatusView(PassUserMixin):
         if last_trained_task is None:
             classifier_status = "WARNING"
             classifier_error = "No classifier training tasks found"
-        elif last_trained_task and last_trained_task.status == states.FAILURE:
+        elif last_trained_task and last_trained_task.status != states.SUCCESS:
             classifier_status = "ERROR"
             classifier_error = last_trained_task.result
         classifier_last_trained = (
@@ -2855,6 +2860,11 @@ class SystemStatusView(PassUserMixin):
         last_sanity_check = (
             PaperlessTask.objects.filter(
                 task_name=PaperlessTask.TaskName.CHECK_SANITY,
+                status__in=[
+                    states.SUCCESS,
+                    states.FAILURE,
+                    states.REVOKED,
+                ],  # ignore running tasks
             )
             .order_by("-date_done")
             .first()
@@ -2864,7 +2874,7 @@ class SystemStatusView(PassUserMixin):
         if last_sanity_check is None:
             sanity_check_status = "WARNING"
             sanity_check_error = "No sanity check tasks found"
-        elif last_sanity_check and last_sanity_check.status == states.FAILURE:
+        elif last_sanity_check and last_sanity_check.status != states.SUCCESS:
             sanity_check_status = "ERROR"
             sanity_check_error = last_sanity_check.result
         sanity_check_last_run = (