diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/tasks.py b/SAS/TMSS/backend/src/tmss/tmssapp/tasks.py index e6d9c06ebe4e38f60a459788c6d16f41569b237c..eceb99e688cd3b78173648004d023424dde01bd7 100644 --- a/SAS/TMSS/backend/src/tmss/tmssapp/tasks.py +++ b/SAS/TMSS/backend/src/tmss/tmssapp/tasks.py @@ -176,12 +176,16 @@ def create_task_drafts_from_scheduling_unit_draft(scheduling_unit_draft: models. # Now create task relations for task_relation_definition in scheduling_unit_draft.requirements_doc["task_relations"]: - producer_task_draft = scheduling_unit_draft.task_drafts.get(name=task_relation_definition["producer"]) - consumer_task_draft = scheduling_unit_draft.task_drafts.get(name=task_relation_definition["consumer"]) - dataformat = models.Dataformat.objects.get(value=task_relation_definition["dataformat"]) - input_role = models.TaskConnectorType.objects.get(task_template=consumer_task_draft.specifications_template, role=task_relation_definition["input"]["role"], datatype=task_relation_definition["input"]["datatype"], iotype=models.IOType.objects.get(value=models.IOType.Choices.INPUT.value)) - output_role = models.TaskConnectorType.objects.get(task_template=producer_task_draft.specifications_template, role=task_relation_definition["output"]["role"], datatype=task_relation_definition["output"]["datatype"], iotype=models.IOType.objects.get(value=models.IOType.Choices.OUTPUT.value)) - selection_template = models.TaskRelationSelectionTemplate.objects.get(name=task_relation_definition["selection_template"]) + try: + producer_task_draft = scheduling_unit_draft.task_drafts.get(name=task_relation_definition["producer"]) + consumer_task_draft = scheduling_unit_draft.task_drafts.get(name=task_relation_definition["consumer"]) + dataformat = models.Dataformat.objects.get(value=task_relation_definition["dataformat"]) + input_role = models.TaskConnectorType.objects.get(task_template=consumer_task_draft.specifications_template, role=task_relation_definition["input"]["role"], datatype=task_relation_definition["input"]["datatype"], iotype=models.IOType.objects.get(value=models.IOType.Choices.INPUT.value)) + output_role = models.TaskConnectorType.objects.get(task_template=producer_task_draft.specifications_template, role=task_relation_definition["output"]["role"], datatype=task_relation_definition["output"]["datatype"], iotype=models.IOType.objects.get(value=models.IOType.Choices.OUTPUT.value)) + selection_template = models.TaskRelationSelectionTemplate.objects.get(name=task_relation_definition["selection_template"]) + except Exception as e: + logger.error("Cannot create task_relation from spec '%s'. Error: %s", task_relation_definition, e) + raise try: with transaction.atomic():