Adds failed tasks filtering to groups

This commit is contained in:
Ilan
2015-07-19 15:15:57 +02:00
parent 72f913ab97
commit 52e72fde1c
3 changed files with 69 additions and 19 deletions
+9 -4
View File
@@ -32,9 +32,12 @@ class Task(models.Model):
return Task.objects.get(name=task_id).result
@staticmethod
def get_result_group(group_id):
def get_result_group(group_id, failures=False):
# values + decode is 10 times faster than just list comprehension
values = Task.objects.filter(group=group_id).values_list('result', flat=True)
if failures:
values = Task.objects.filter(group=group_id).values_list('result', flat=True)
else:
values = Task.objects.filter(group=group_id).exclude(success=False).values_list('result', flat=True)
return [dbsafe_decode(t) for t in values]
@staticmethod
@@ -58,8 +61,10 @@ class Task(models.Model):
return Task.objects.get(name=task_id)
@staticmethod
def get_task_group(group_id):
return Task.objects.filter(group=group_id)
def get_task_group(group_id, failures=True):
if failures:
return Task.objects.filter(group=group_id)
return Task.objects.filter(group_id=group_id).exclude(success=False)
def time_taken(self):
return (self.stopped - self.started).total_seconds()