diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py index 036822196f4f74be31636374464540301129cd18..655e0487ebbfb0f96a93094df69fc5d7e640a02b 100644 --- a/atdb/taskdatabase/models.py +++ b/atdb/taskdatabase/models.py @@ -159,6 +159,25 @@ class Task(models.Model): def get_absolute_url(self): return reverse('task-detail-view-api', kwargs={'pk': self.pk}) + def get_jobs_statusses(self): + statusses = {} + + # check the statusses of all the jobs of this id + jobs = Job.objects.filter(task_id=self.id) + for job in jobs: + + try: + key = job.metadata['status'].lower() + # if key doesn't exist, add a new one + statusses.update({ key : 0 }) + statusses[key] = statusses[key] + 1 + + except: + pass + + return statusses + + @property def predecessor_status(self): try: @@ -382,6 +401,7 @@ class Job(models.Model): except: return "N/A" + class PostProcessingRule(models.Model): aggregation_key = models.CharField(db_index=True, max_length=20, default=None,null=True, blank=True) trigger_status = models.CharField(db_index=True, default="unknown", max_length=50, blank=True, null=True) diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html index fd59a14cffe48a9d9e13669b0631561696b7d0b4..60080c6d458446f046bb819b2bdc95d08efa9e64 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 6 July 2023 + <p class="footer"> Version 7 July 2023 </div> {% include 'taskdatabase/refresh.html' %} diff --git a/atdb/taskdatabase/templates/taskdatabase/tasks/details_card.html b/atdb/taskdatabase/templates/taskdatabase/tasks/details_card.html index dd8812927a0f93addbc8d310a260db50e5e8781f..1d527849e3a52b094ad71c56221310e318e00cff 100644 --- a/atdb/taskdatabase/templates/taskdatabase/tasks/details_card.html +++ b/atdb/taskdatabase/templates/taskdatabase/tasks/details_card.html @@ -5,7 +5,7 @@ <table class="table table-striped"> <tbody> <tr><td><b>id</b></td><td><a href="{% url 'task-detail-view-api' task.pk %}" target="_blank">{{ task.id }} </a></td></tr> - <tr><td><b>slurm jobs</b></td><td><a href="{% url 'job-list-view-api' %}?task_id={{ task.id }}" {{ task.id }} target="_blank">jobs for task {{ task.id }} </a></td></tr> + <tr><td><b>slurm jobs</b></td><td><a href="{% url 'job-list-view-api' %}?task_id={{ task.id }}" {{ task.id }} target="_blank">jobs for task {{ task.id }} </a> {{ task.get_jobs_statusses }}</td></tr> <tr><td><b>priority</b></td><td> {% if user.is_authenticated %}