From f71a005d55a9cdd82bd6facc6ca1ebeddfee62e5 Mon Sep 17 00:00:00 2001 From: you-n-g Date: Mon, 7 Jul 2025 18:52:17 +0800 Subject: [PATCH] refactor: privatize remain_time_duration and use remain_time() (#1027) --- rdagent/log/timer.py | 12 ++++++------ .../scenarios/data_science/proposal/exp_gen/merge.py | 12 ++++++------ .../data_science/proposal/exp_gen/parallel.py | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/rdagent/log/timer.py b/rdagent/log/timer.py index bcf252e5..a130541f 100644 --- a/rdagent/log/timer.py +++ b/rdagent/log/timer.py @@ -10,7 +10,7 @@ class RDAgentTimer: self.started: bool = False self.target_time: datetime | None = None self.all_duration: timedelta | None = None - self.remain_time_duration: timedelta | None = None + self._remain_time_duration: timedelta | None = None def reset(self, all_duration: str | timedelta) -> None: if isinstance(all_duration, str): @@ -39,10 +39,10 @@ class RDAgentTimer: return None def restart_by_remain_time(self) -> None: - if self.remain_time_duration is not None: - self.target_time = datetime.now() + self.remain_time_duration + if self._remain_time_duration is not None: + self.target_time = datetime.now() + self._remain_time_duration self.started = True - logger.info(f"Timer restarted with remaining time: {self.remain_time_duration}") + logger.info(f"Timer restarted with remaining time: {self._remain_time_duration}") else: logger.warning("No remaining time to restart the timer.") return None @@ -62,13 +62,13 @@ class RDAgentTimer: def update_remain_time(self) -> None: if self.started and self.target_time is not None: - self.remain_time_duration = self.target_time - datetime.now() + self._remain_time_duration = self.target_time - datetime.now() return None def remain_time(self) -> timedelta | None: if self.started: self.update_remain_time() - return self.remain_time_duration + return self._remain_time_duration return None diff --git a/rdagent/scenarios/data_science/proposal/exp_gen/merge.py b/rdagent/scenarios/data_science/proposal/exp_gen/merge.py index 6bdfbd30..95a43645 100644 --- a/rdagent/scenarios/data_science/proposal/exp_gen/merge.py +++ b/rdagent/scenarios/data_science/proposal/exp_gen/merge.py @@ -235,9 +235,9 @@ class ExpGen2TraceAndMerge(ExpGen): def gen(self, trace: DSTrace) -> DSExperiment: timer: RDAgentTimer = RD_Agent_TIMER_wrapper.timer - logger.info(f"Remain time: {timer.remain_time_duration}") + logger.info(f"Remain time: {timer.remain_time()}") - if timer.remain_time_duration >= timedelta(hours=DS_RD_SETTING.merge_hours): + if timer.remain_time() >= timedelta(hours=DS_RD_SETTING.merge_hours): leaves: list[int] = trace.get_leaves() if len(leaves) < 2: selection = trace.NEW_ROOT # create new trace @@ -351,9 +351,9 @@ class ExpGen2TraceAndMergeV2(ExpGen): def gen(self, trace: DSTrace, selection: tuple[int, ...] = (-1,)) -> DSExperiment: timer: RDAgentTimer = RD_Agent_TIMER_wrapper.timer - logger.info(f"Remain time: {timer.remain_time_duration}") + logger.info(f"Remain time: {timer.remain_time()}") - if timer.remain_time_duration >= timedelta(hours=DS_RD_SETTING.merge_hours): + if timer.remain_time() >= timedelta(hours=DS_RD_SETTING.merge_hours): if DS_RD_SETTING.enable_inject_knowledge_at_root: if DS_RD_SETTING.knowledge_base_path is not None and DS_RD_SETTING.idea_pool_json_path is not None: @@ -408,9 +408,9 @@ class ExpGen2TraceAndMergeV3(ExpGen): def gen(self, trace: DSTrace) -> DSExperiment: timer: RDAgentTimer = RD_Agent_TIMER_wrapper.timer - logger.info(f"Remain time: {timer.remain_time_duration}") + logger.info(f"Remain time: {timer.remain_time()}") - if timer.remain_time_duration >= timedelta(hours=DS_RD_SETTING.merge_hours): + if timer.remain_time() >= timedelta(hours=DS_RD_SETTING.merge_hours): if DS_RD_SETTING.enable_inject_knowledge_at_root: diff --git a/rdagent/scenarios/data_science/proposal/exp_gen/parallel.py b/rdagent/scenarios/data_science/proposal/exp_gen/parallel.py index 2fba3f1c..e4168409 100644 --- a/rdagent/scenarios/data_science/proposal/exp_gen/parallel.py +++ b/rdagent/scenarios/data_science/proposal/exp_gen/parallel.py @@ -53,12 +53,12 @@ class ParallelMultiTraceExpGen(ExpGen): into it before returning. """ timer: RDAgentTimer = RD_Agent_TIMER_wrapper.timer - logger.info(f"Remain time: {timer.remain_time_duration}") + logger.info(f"Remain time: {timer.remain_time()}") local_selection: tuple[int, ...] = None while True: - if timer.remain_time_duration >= timedelta(hours=DS_RD_SETTING.merge_hours): + if timer.remain_time() >= timedelta(hours=DS_RD_SETTING.merge_hours): if DS_RD_SETTING.enable_inject_knowledge_at_root: