From 29c123f5d8461eff6c8af03254c24718117a3fb6 Mon Sep 17 00:00:00 2001 From: bzantium Date: Fri, 19 Dec 2025 15:11:00 +0900 Subject: [PATCH] fix: resolve app_id collision when scheduling JobGroups with local executor Signed-off-by: bzantium --- nemo_run/run/job.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/nemo_run/run/job.py b/nemo_run/run/job.py index b232a03d..12243fbc 100644 --- a/nemo_run/run/job.py +++ b/nemo_run/run/job.py @@ -278,7 +278,7 @@ def __post_init__(self): if len(executors) == 1: self.executors = executors * len(self.tasks) - self._dryrun_info: Optional[AppDryRunInfo] = None + self._dryrun_infos: list[AppDryRunInfo] = [] @property def state(self) -> AppState: @@ -371,7 +371,7 @@ def launch( assert hasattr(self, "_executables") and self._executables - for executable, executor in self._executables: + for idx, (executable, executor) in enumerate(self._executables): executor_str = get_executor_str(executor) if dryrun: @@ -385,8 +385,9 @@ def launch( log=self.tail_logs, runner=runner, ) - self._dryrun_info = dryrun_info + self._dryrun_infos.append(dryrun_info) else: + dryrun_info = self._dryrun_infos[idx] if idx < len(self._dryrun_infos) else None handle, status = launch( executable=executable, executor_name=executor_str, @@ -395,7 +396,7 @@ def launch( wait=wait, log=self.tail_logs, runner=runner, - dryrun_info=self._dryrun_info, + dryrun_info=dryrun_info, ) self.handles.append(handle) self.states.append(status.state if status else AppState.UNKNOWN)