Add warning on archived Task in pipeline (issue #274)

This commit is contained in:
allegroai 2021-01-10 12:49:44 +02:00
parent c28f8cf65b
commit 2b9a28f908
2 changed files with 7 additions and 0 deletions

View File

@ -8,6 +8,7 @@ from time import time
from attr import attrib, attrs from attr import attrib, attrs
from typing import Sequence, Optional, Mapping, Callable, Any, Union from typing import Sequence, Optional, Mapping, Callable, Any, Union
from ..debugging.log import LoggerRoot
from ..task import Task from ..task import Task
from ..automation import TrainsJob from ..automation import TrainsJob
from ..model import BaseModel from ..model import BaseModel
@ -148,12 +149,17 @@ class PipelineController(object):
if not base_task: if not base_task:
raise ValueError('Could not find base_task_project={} base_task_name={}'.format( raise ValueError('Could not find base_task_project={} base_task_name={}'.format(
base_task_project, base_task_name)) base_task_project, base_task_name))
if Task.archived_tag in base_task.get_system_tags():
LoggerRoot.get_base_logger().warning(
'Found base_task_project={} base_task_name={} but it is archived'.format(
base_task_project, base_task_name))
base_task_id = base_task.id base_task_id = base_task.id
self._nodes[name] = self.Node( self._nodes[name] = self.Node(
name=name, base_task_id=base_task_id, parents=parents or [], name=name, base_task_id=base_task_id, parents=parents or [],
queue=execution_queue, timeout=time_limit, queue=execution_queue, timeout=time_limit,
parameters=parameter_override or {}) parameters=parameter_override or {})
return True return True
def start(self, run_remotely=False, step_task_created_callback=None): def start(self, run_remotely=False, step_task_created_callback=None):

View File

@ -3081,6 +3081,7 @@ class Task(_Task):
if len(res_tasks) > 1: if len(res_tasks) > 1:
filtered_tasks = [t for t in res_tasks if not getattr(t, system_tags, None) or filtered_tasks = [t for t in res_tasks if not getattr(t, system_tags, None) or
cls.archived_tag not in getattr(t, system_tags, None)] cls.archived_tag not in getattr(t, system_tags, None)]
# if we did not filter everything (otherwise we have only archived tasks, so we return them)
if filtered_tasks: if filtered_tasks:
res_tasks = filtered_tasks res_tasks = filtered_tasks