Skip to content
Snippets Groups Projects
Commit 98ad9105 authored by Nico Vermaas's avatar Nico Vermaas
Browse files

adding size fields to task

adding status buttons to GUI
parent ab6ff76f
No related branches found
No related tags found
No related merge requests found
Pipeline #8726 passed
...@@ -38,6 +38,11 @@ class Task(models.Model): ...@@ -38,6 +38,11 @@ class Task(models.Model):
outputs = models.JSONField(null=True, blank=True) outputs = models.JSONField(null=True, blank=True)
metrics = models.JSONField(null=True, blank=True) metrics = models.JSONField(null=True, blank=True)
size_to_process = models.IntegerField(null=True)
size_processed = models.IntegerField(null=True)
total_processing_time = models.IntegerField(null=True)
# relationships # relationships
workflow = models.ForeignKey(Workflow, related_name='tasks', on_delete=models.SET_NULL, null=True, blank=True) workflow = models.ForeignKey(Workflow, related_name='tasks', on_delete=models.SET_NULL, null=True, blank=True)
predecessor = models.ForeignKey('self', related_name='successors', on_delete=models.SET_NULL, null=True, blank=True) predecessor = models.ForeignKey('self', related_name='successors', on_delete=models.SET_NULL, null=True, blank=True)
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
Date created: 2019-04-04 Date created: 2019-04-04
Description: Business logic for ATDB. These functions are called from the views (views.py). Description: Business logic for ATDB. These functions are called from the views (views.py).
""" """
import time
import datetime from django.db.models import Sum
import logging import logging
from .common import timeit from .common import timeit
from ..models import Task from ..models import Task
...@@ -27,7 +27,12 @@ def get_size(status_list): ...@@ -27,7 +27,12 @@ def get_size(status_list):
logger.info("get_size("+status_list+")") logger.info("get_size("+status_list+")")
#todo: implement #todo: implement
return -1 query = field + '__sum'
sum_value = Task.objects.filter(status__in=status_list).aggregate(Sum(field))[query]
if sum_value == None:
sum_value = 0.0
return sum_value
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<th>Created</th> <th>Created</th>
<th>Size</th> <th>Size</th>
<th>Actions</th> <th>Set Status</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
......
...@@ -19,44 +19,19 @@ ...@@ -19,44 +19,19 @@
<td> <td>
{% if task.status == "defining" %} {% if task.status == "defining" %}
<a href="{% url 'task-setstatus-view' task.pk 'defined' my_tasks.number %}" class="btn btn-primary btn-sm" role="button">Stage</a> <a href="{% url 'task-setstatus-view' task.pk 'defined' my_tasks.number %}" class="btn btn-success btn-sm" role="button">Stage</a>
{% endif %} {% endif %}
{% if task.status == "defined" or task.status == "staging" or task.status == "staged" %} {% if task.status != "defining" %}
<a href="{% url 'task-setstatus-view' task.pk 'defining' my_tasks.number %}" class="btn btn-warning btn-sm" role="button">Reset</a> <a href="{% url 'task-setstatus-view' task.pk 'defining' my_tasks.number %}" class="btn btn-warning btn-sm" role="button">Reset</a>
{% endif %} {% endif %}
{% if task.status == "submitted" or task.status == "submitting" %} <a href="{% url 'task-setstatus-view' task.pk 'staged' my_tasks.number %}" class="btn btn-primary btn-sm" role="button">staged</a>
<a href="{% url 'task-setstatus-view' task.pk 'defined' my_tasks.number %}" class="btn btn-primary btn-sm" role="button">Stage</a> <a href="{% url 'task-setstatus-view' task.pk 'processed' my_tasks.number %}" class="btn btn-primary btn-sm" role="button">processed</a>
{% endif %} <a href="{% url 'task-setstatus-view' task.pk 'validated' my_tasks.number %}" class="btn btn-primary btn-sm" role="button">validated</a>
<a href="{% url 'task-setstatus-view' task.pk 'ingested' my_tasks.number %}" class="btn btn-primary btn-sm" role="button">ingested</a>
{% if task.status == "completed" or task.status == "incomplete" %}
<a href="{% url 'task-setstatus-view' task.pk 'valid' my_tasks.number %}" class="btn btn-primary btn-sm" role="button">Ready to Ingest</a>
{% endif %}
{% if task.status == "error (no completing)" or task.status == "defined" %}
<a href="{% url 'task-setstatus-view' task.pk 'completing' my_tasks.number %}" class="btn btn-success btn-sm" role="button">Completing</a>
{% endif %}
{% if task.status == "valid" %}
<a href="{% url 'task-setstatus-view' task.pk 'valid_priority' my_tasks.number %}" class="btn btn-warning btn-sm" role="button">Priority Ingest</a>
<a href="{% url 'task-setstatus-view' task.pk 'completed' my_tasks.number %}" class="btn btn-primary btn-sm" role="button">Cancel Ingest</a>
{% endif %}
{% if task.status == "valid_priority" %}
<a href="{% url 'task-setstatus-view' task.pk 'valid' my_tasks.number %}" class="btn btn-primary btn-sm" role="button">Cancel Priority</a>
<a href="{% url 'task-setstatus-view' task.pk 'completed' my_tasks.number %}" class="btn btn-primary btn-sm" role="button">Cancel Ingest</a>
{% endif %}
{% if task.status == "archived" %}
<a href="{% url 'task-setquality-view' task.pk 'data_is_good' my_tasks.number %}" class="btn btn-success btn-sm" role="button">Data is Good</a>
<a href="{% url 'task-setquality-view' task.pk 'data_is_bad' my_tasks.number %}" class="btn btn-danger btn-sm" role="button">Data is Bad</a>
{% endif %}
{% if task.status == "removed" and task.quality == "unknown" %}
<a href="{% url 'task-setquality-view' task.pk 'data_is_good' my_tasks.number %}" class="btn btn-success btn-sm" role="button">Data is Good</a>
<a href="{% url 'task-setquality-view' task.pk 'data_is_bad' my_tasks.number %}" class="btn btn-danger btn-sm" role="button">Data is Bad</a>
{% endif %}
</td> </td>
</tr> </tr>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment