diff --git a/atdb/taskdatabase/services/activities_handler.py b/atdb/taskdatabase/services/activities_handler.py index 90aa78a85774bf4738bc4248a647d3fd8431f492..544a1a3d02f95346c788f2e94b041b24b753d3e0 100644 --- a/atdb/taskdatabase/services/activities_handler.py +++ b/atdb/taskdatabase/services/activities_handler.py @@ -1,6 +1,6 @@ import logging; from django.conf import settings -from django.db.models import Sum + from .common import State, AggregationStrategy, VERIFIED_STATUSSES, PROCESSED_STATUSSES, INGEST_FRACTION_STATUSSES, \ UPDATE_ARCHIVE_STATUSSES, ACTIVITY_RESET_STATUSSEN from taskdatabase.models import Task, Activity, Configuration diff --git a/atdb/taskdatabase/services/common.py b/atdb/taskdatabase/services/common.py index ad0013e86da96b4384b8bd392fdafad136f76e93..a9b60ce7dfc3aec50adb219f40ba669cfaa653de 100644 --- a/atdb/taskdatabase/services/common.py +++ b/atdb/taskdatabase/services/common.py @@ -27,6 +27,7 @@ class State(Enum): FINISHED = "finished" FINISHING = "finishing" SUSPENDED = "suspended" + DISCARD = "discard" DISCARDED = "discarded" FAILED = "failed" COLLECTING_DATA = "collecting_data" diff --git a/atdb/taskdatabase/views.py b/atdb/taskdatabase/views.py index 1d6c7b999f0d77a986afc4ff4361730e3d4408a8..7fbabb344374d9a8e1ce3b2aa06f7b9dd5b2db39 100644 --- a/atdb/taskdatabase/views.py +++ b/atdb/taskdatabase/views.py @@ -688,7 +688,7 @@ def get_filtered_tasks(request, pre_filtered_tasks=None, distinct=None): # this assumes a similarity between tasks that share a field used as 'distinct'. (in practise that is sas_id) # this is only the case for tasks of the same 'task_type', and currently this is only used for 'regular' tasks. # (to turn that around, 'task_type=aggregation' should be omitted from this filter). - my_distinct_tasks = filtered_tasks.filter(task_type='regular').order_by(distinct,my_sort).distinct(distinct) + my_distinct_tasks = filtered_tasks.filter(task_type='regular').exclude(status='discarded').order_by(distinct,my_sort).distinct(distinct) return filtered_tasks.filter(id__in=my_distinct_tasks).order_by(my_sort) else: return filtered_tasks.order_by(my_sort)