diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py index b9eafb691900d53d30741754c96f9b378a82bb08..20b6ee2813528b3130bbf14cc52b1abb3e57a176 100644 --- a/atdb/taskdatabase/models.py +++ b/atdb/taskdatabase/models.py @@ -24,13 +24,13 @@ class State(Enum): ARCHIVING = "archiving" ARCHIVED = "archived" FINISHED = "finished" + FINISHING = "finishing" SUSPENDED = "suspended" DISCARDED = "discarded" FAILED = "failed" datetime_format_string = '%Y-%m-%dT%H:%M:%SZ' verified_statusses = ['stored','validated','scrubbed','archived','finished','suspended','discarded'] -ingest_statusses = ['scrubbed','archiving','archived'] class Workflow(models.Model): description = models.CharField(max_length=500, blank=True, null=True) @@ -342,7 +342,7 @@ class Task(models.Model): """ result = {} - statusses = {'scrubbed': 0, 'archiving': 0, 'archived': 0, 'finished': 0, + statusses = {'scrubbed': 0, 'archiving': 0, 'archived': 0, 'finishing': 0, 'finished': 0, 'suspended': 0,'discarded': 0, 'archived_failed': 0, 'finished_failed': 0} tasks = Task.objects.filter(sas_id=self.sas_id) @@ -353,8 +353,8 @@ class Task(models.Model): except: pass - incomplete = int(statusses['scrubbed']) + int(statusses['archiving']) + int(statusses['suspended']) \ - + int(statusses['archived_failed']) + int(statusses['finished_failed']) + incomplete = int(statusses['scrubbed']) + int(statusses['archiving']) + int(statusses['finishing']) +\ + int(statusses['suspended']) + int(statusses['archived_failed']) + int(statusses['finished_failed']) complete = int(statusses['archived']) + int(statusses['finished']) completion = round(complete / (incomplete + complete) * 100) diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html index 19a3b313200d62fe75bbfce611f4d2209eff8cfd..dacb5917ac7eab8d697930280e31c2e81b39619d 100644 --- a/atdb/taskdatabase/templates/taskdatabase/index.html +++ b/atdb/taskdatabase/templates/taskdatabase/index.html @@ -31,7 +31,7 @@ {% include 'taskdatabase/pagination.html' %} </div> </div> - <p class="footer"> Version 8 Jan 2024 + <p class="footer"> Version 9 Jan 2024 </div> {% include 'taskdatabase/refresh.html' %} diff --git a/atdb/taskdatabase/tests/test_ingest_fraction.py b/atdb/taskdatabase/tests/test_ingest_fraction.py index 9a48ae93c2d7295c4c9af1a2b8126c767aee2017..b50472c8eb86a5b8f03c9729dba2e1d48471e675 100644 --- a/atdb/taskdatabase/tests/test_ingest_fraction.py +++ b/atdb/taskdatabase/tests/test_ingest_fraction.py @@ -14,7 +14,8 @@ class TestIngestFraction(TestCase): Task.objects.get_or_create(filter='b',sas_id=54321, status='scrubbed', workflow=workflow_requantisation) Task.objects.get_or_create(filter='a',sas_id=54321, status='archiving', workflow=workflow_requantisation) Task.objects.get_or_create(filter='a',sas_id=54321, status='archived', workflow=workflow_requantisation) - Task.objects.get_or_create(filter='a',sas_id=54321, status='finished', workflow=workflow_requantisation) + Task.objects.get_or_create(filter='a',sas_id=54321, status='finishing', workflow=workflow_requantisation) + Task.objects.get_or_create(filter='a', sas_id=54321, status='finished', workflow=workflow_requantisation) Task.objects.get_or_create(filter='b',sas_id=54321, status='finished', workflow=workflow_requantisation) Task.objects.get_or_create(filter='a', sas_id=54321, status='discarded', workflow=workflow_requantisation) Task.objects.get_or_create(filter='a', sas_id=54321, status='archived_failed', workflow=workflow_requantisation) @@ -27,5 +28,5 @@ class TestIngestFraction(TestCase): statusses = task.sasid_ingested_fraction['status'] completion = task.sasid_ingested_fraction['completion'] - self.assertEqual(statusses, {'scrubbed': 2, 'archiving': 1, 'archived': 1, 'finished': 2, 'discarded': 1, 'archived_failed': 1}) - self.assertEqual(completion,43) + self.assertEqual(statusses, {'scrubbed': 2, 'archiving': 1, 'archived': 1, 'finishing': 1, 'finished': 2, 'discarded': 1, 'archived_failed': 1}) + self.assertEqual(completion,38) diff --git a/atdb/taskdatabase/views.py b/atdb/taskdatabase/views.py index c3d36016908476241f35c1009ed446e2f1d56b53..b54b8e711f0511cef726a0c7d720fa991d27315a 100644 --- a/atdb/taskdatabase/views.py +++ b/atdb/taskdatabase/views.py @@ -456,7 +456,8 @@ class ShowIngestQPage(ListView): ingest_tasks = Task.objects.only('workflow','project','filter').filter( Q(status__icontains=State.SCRUBBED.value) | Q(status__icontains=State.ARCHIVING.value) | - Q(status__icontains=State.ARCHIVED.value)) + Q(status__icontains=State.ARCHIVED.value) | + Q(status__icontains=State.FINISHING.value)) tasks = get_filtered_tasks(self.request, ingest_tasks, "sas_id")