From eee462fdc626e0fe36569581886a461b342028d2 Mon Sep 17 00:00:00 2001 From: Ivan Kondov <ivan.kondov@kit.edu> Date: Sat, 1 Feb 2025 12:02:54 +0100 Subject: [PATCH 1/3] add local_redirect to save stdout and stderr in files in launchdir --- src/virtmat/language/utilities/fireworks.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/virtmat/language/utilities/fireworks.py b/src/virtmat/language/utilities/fireworks.py index 08da4126..56ab8af6 100644 --- a/src/virtmat/language/utilities/fireworks.py +++ b/src/virtmat/language/utilities/fireworks.py @@ -21,15 +21,18 @@ def launchdir(tmp_dir): def run_fireworks(lpad, fw_ids, worker_name=None, create_subdirs=False): """launch fireworks with the provided fw_ids""" - worker = FWorker(name=worker_name, query={'fw_id': {'$in': fw_ids}}) + fw_query = {'fw_id': {'$in': fw_ids}} + launch_kwargs = {'strm_lvl': lpad.strm_lvl} + launch_kwargs['fworker'] = FWorker(name=worker_name, query=fw_query) cfg = get_default_resconfig() + assert cfg.default_worker.name == worker_name default_launchdir = cfg and cfg.default_worker.default_launchdir with launchdir(default_launchdir or os.getcwd()): if create_subdirs: - rapidfire(lpad, fworker=worker, nlaunches=0, strm_lvl=lpad.strm_lvl) + rapidfire(lpad, nlaunches=0, local_redirect=True, **launch_kwargs) else: for _ in fw_ids: - launch_rocket(lpad, fworker=worker, strm_lvl=lpad.strm_lvl) + launch_rocket(lpad, **launch_kwargs) def get_nodes_providing(lpad, uuid, name): -- GitLab From b7d8f4077da61c56971c95e743e0243c9099fdc4 Mon Sep 17 00:00:00 2001 From: Ivan Kondov <ivan.kondov@kit.edu> Date: Sat, 1 Feb 2025 12:10:13 +0000 Subject: [PATCH 2/3] fix wcfg and default_launchdir selection --- src/virtmat/language/utilities/fireworks.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/virtmat/language/utilities/fireworks.py b/src/virtmat/language/utilities/fireworks.py index 56ab8af6..b9612003 100644 --- a/src/virtmat/language/utilities/fireworks.py +++ b/src/virtmat/language/utilities/fireworks.py @@ -25,9 +25,15 @@ def run_fireworks(lpad, fw_ids, worker_name=None, create_subdirs=False): launch_kwargs = {'strm_lvl': lpad.strm_lvl} launch_kwargs['fworker'] = FWorker(name=worker_name, query=fw_query) cfg = get_default_resconfig() - assert cfg.default_worker.name == worker_name - default_launchdir = cfg and cfg.default_worker.default_launchdir - with launchdir(default_launchdir or os.getcwd()): + if cfg: + if worker_name: + wcfg = next(w for w in cfg.workers if w.name == worker_name) + else: + wcfg = cfg.default_worker + default_launchdir = wcfg.default_launchdir + else: + default_launchdir = os.getcwd() + with launchdir(default_launchdir): if create_subdirs: rapidfire(lpad, nlaunches=0, local_redirect=True, **launch_kwargs) else: -- GitLab From acc4d5b1ff867c771c98c7c7e3ece88d01d1dae8 Mon Sep 17 00:00:00 2001 From: Ivan Kondov <ivan.kondov@kit.edu> Date: Sat, 1 Feb 2025 13:23:25 +0100 Subject: [PATCH 3/3] fix case of default_launchdir is None --- src/virtmat/language/utilities/fireworks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/virtmat/language/utilities/fireworks.py b/src/virtmat/language/utilities/fireworks.py index b9612003..fc3f1f37 100644 --- a/src/virtmat/language/utilities/fireworks.py +++ b/src/virtmat/language/utilities/fireworks.py @@ -30,7 +30,7 @@ def run_fireworks(lpad, fw_ids, worker_name=None, create_subdirs=False): wcfg = next(w for w in cfg.workers if w.name == worker_name) else: wcfg = cfg.default_worker - default_launchdir = wcfg.default_launchdir + default_launchdir = wcfg.default_launchdir or os.getcwd() else: default_launchdir = os.getcwd() with launchdir(default_launchdir): -- GitLab