From b9cc28d653232574f45dff6276598b0f5102a386 Mon Sep 17 00:00:00 2001 From: Max Nagy Date: Mon, 18 Dec 2023 11:29:49 +0100 Subject: [PATCH] Add NonparallelScheduler --- cw2/scheduler.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cw2/scheduler.py b/cw2/scheduler.py index 8c23793..1bdddf3 100644 --- a/cw2/scheduler.py +++ b/cw2/scheduler.py @@ -403,6 +403,21 @@ def execute_task(self, j: job.Job, c: dict, overwrite: bool = False): return +class NonparallelScheduler(AbstractScheduler): + """Performs task locally, without multiprocessing. Useful for debugging.""" + + def run(self, overwrite: bool = False): + for j in self.joblist: + for c in j.tasks: + self.execute_task(j, c, overwrite) + + def execute_task(self, j: job.Job, c: dict, overwrite: bool = False): + try: + j.run_task(c, overwrite) + except cw_error.ExperimentSurrender as _: + return + + class SlurmScheduler(AbstractScheduler): def run(self, overwrite: bool = False): cw_slurm.run_slurm(self.config, len(self.joblist))