From b8ff50a3ef2c06b5613ccceb5aac58a615d43f72 Mon Sep 17 00:00:00 2001 From: Binh Nguyen Date: Fri, 3 Nov 2023 20:57:51 +0700 Subject: [PATCH] - Fix job completion status and remove unused imports --- evoflow/entities/core/job.py | 13 ++++++++----- evoflow/entities/core/step.py | 7 ++++--- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/evoflow/entities/core/job.py b/evoflow/entities/core/job.py index ec1a038..54f47a6 100644 --- a/evoflow/entities/core/job.py +++ b/evoflow/entities/core/job.py @@ -9,11 +9,9 @@ from rich.columns import Columns from rich.live import Live from rich.panel import Panel -from rich.progress import Progress from rich.spinner import Spinner from rich.text import Text from rich.tree import Tree -from tqdm import tqdm from evoflow.controller.log_controller import logger, pretty_dict from evoflow.entities.core.base_object import BaseObject @@ -51,6 +49,7 @@ def kill(self, **kwargs): pass def finish(self, **kwargs): + self.is_done = True logger.info(f"Finish job: {self.name}") def __step_generator(self) -> typing.Generator: @@ -74,6 +73,8 @@ def run(self, **kwargs): while True: # do self.__run by new thread self.__run(live=live, **kwargs) + if self.is_done: + break def __run(self, **kwargs): self.compile() @@ -106,11 +107,11 @@ def __run(self, **kwargs): self.finish() return last_result - def __init__(self, name=None, start_step: Step = None, **kwargs): + def __init__(self, name=None, start_step: Step = None,default_params=None, **kwargs): self.live_panel = None # for progress monitor self.current_step = None self.__start_step: Step = start_step - self.params_pool = {} + self.params_pool = default_params or {} self.__steps = [] self.__running_steps = [] if name is None: @@ -264,7 +265,9 @@ def update_status(self, **kwargs): step_live = tree.add(spinner) for sub_step in step_list.steps: if sub_step.is_running(): - step_live.add(Spinner("material", text=Text(sub_step.name, style="blue"))) + step_live.add( + Spinner("material", text=Text(sub_step.name, style="blue")) + ) tree_added_steps.append(sub_step) for step in single_steps: if step in tree_added_steps: diff --git a/evoflow/entities/core/step.py b/evoflow/entities/core/step.py index d739c80..b7d0f07 100644 --- a/evoflow/entities/core/step.py +++ b/evoflow/entities/core/step.py @@ -108,9 +108,10 @@ def prepare(self, **kwargs): for k, v in kwargs.items(): setattr(self, k, v) self.params = kwargs - self.job.add_running_step(self) - self.status = self.STATUS_RUNNING - self.job.update_status() + if self.job: + self.job.add_running_step(self) + self.status = self.STATUS_RUNNING + self.job.update_status() def __str__(self): return self.name