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

experimenting with activities

parent 466df5ba
No related branches found
No related tags found
1 merge request!339SDC-1188 - STEP 1 of 3 (the database)
Pipeline #71121 passed
...@@ -41,7 +41,7 @@ def calculate_ingested_fraction(this_task): ...@@ -41,7 +41,7 @@ def calculate_ingested_fraction(this_task):
return result return result
def associate_activity(task): def associate_activity(task, save_task=True):
if not task.activity: if not task.activity:
...@@ -60,8 +60,10 @@ def associate_activity(task): ...@@ -60,8 +60,10 @@ def associate_activity(task):
activity.save() activity.save()
task.activity = activity task.activity = activity
task.save() if save_task:
task.save()
return task.activity
def update_activity(task): def update_activity(task):
""" """
...@@ -77,24 +79,9 @@ def update_activity(task): ...@@ -77,24 +79,9 @@ def update_activity(task):
""" """
logger.info(f'update_activity for task {task.id} with sas_id {task.sas_id} and status {task.status}') logger.info(f'update_activity for task {task.id} with sas_id {task.sas_id} and status {task.status}')
try: # do not save the task,
activity = Activity.objects.get(sas_id=task.sas_id) # because this function is called from signals where the task.save is delayed on purpose to avoid recursion
except: activity = associate_activity(task, save_task=False)
# no activity exists yet, create it
logger.info(f'create new activity for sas_id {task.sas_id}')
activity = Activity(sas_id=task.sas_id,
workflow=task.workflow,
project=task.project,
filter=task.filter,
priority=task.priority,
archive=task.archive)
activity.save()
# associate an activity to this tasks
if not task.activity:
activity = Activity.objects.get(sas_id=task.sas_id)
task.activity = activity
# depending on the status transition, perform calculations # depending on the status transition, perform calculations
if task.status == State.STORED.value: if task.status == State.STORED.value:
......
...@@ -69,7 +69,7 @@ def handle_post_save(sender, **kwargs): ...@@ -69,7 +69,7 @@ def handle_post_save(sender, **kwargs):
""" """
task = kwargs.get('instance') task = kwargs.get('instance')
# temporarily disconnect to avoid recursion. # temporarily disconnect and save later, to avoid recursion.
update_activity(task) update_activity(task)
disconnect_signals() disconnect_signals()
......
...@@ -24,12 +24,12 @@ ...@@ -24,12 +24,12 @@
{% endif %} {% endif %}
</td> </td>
<td>{{ task.activity.ingestq_status }}</td> <td>{{ task.activity.ingestq_status }}</td>
<td>{{ task.sasid_ingested_fraction.completion }}%</td> <td>{{ task.activity.ingested_fraction }}%</td>
<td> <td>
{% if task.sas_id_has_archived != None %} {% if task.activity.has_archived != None %}
<a href={{ task.sasid_path_to_lta }} target="_blank"> <a href={{ task.sasid_path_to_lta }} target="_blank">
<img src="{% static 'taskdatabase/ldvlogo_small.png' %}" height="20" alt="link to LTA"> <img src="{% static 'taskdatabase/ldvlogo_small.png' %}" height="20" alt="link to LTA">
{{ task.sas_id_has_archived }} {{ task.activity.has_archived }}
</a>&nbsp; </a>&nbsp;
{% else %} {% else %}
- -
......
...@@ -1717,4 +1717,4 @@ def AssociateActivities(request): ...@@ -1717,4 +1717,4 @@ def AssociateActivities(request):
activities.associate_activity(task) activities.associate_activity(task)
logger.info(f'{task.id} => {task.sas_id}') logger.info(f'{task.id} => {task.sas_id}')
return redirect('index')
\ No newline at end of file
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