From a937c8f1fe4bdda27d14caf5ac2b823a0f676161 Mon Sep 17 00:00:00 2001 From: Manuel Guenther <manuel.guenther@idiap.ch> Date: Thu, 13 Feb 2014 10:26:07 +0100 Subject: [PATCH] Also 'submitted' (e.g. stopped, but not queued) jobs are now resubmitted by default; small bug fixes. --- gridtk/manager.py | 2 +- gridtk/script/jman.py | 5 +++-- gridtk/sge.py | 4 +++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/gridtk/manager.py b/gridtk/manager.py index d8a43ca..dfb874a 100644 --- a/gridtk/manager.py +++ b/gridtk/manager.py @@ -206,7 +206,7 @@ class JobManager: self.lock() for job in self.get_jobs(job_ids): job.refresh() - if job.status in status and names is None or job.name in names: + if job.status in status and (names is None or job.name in names): print(job.format(format, dependency_length, None if long else 43)) if print_array_jobs and job.array: print(array_delimiter) diff --git a/gridtk/script/jman.py b/gridtk/script/jman.py index 361f4ae..0d75835 100644 --- a/gridtk/script/jman.py +++ b/gridtk/script/jman.py @@ -106,13 +106,13 @@ def submit(args): 'name': args.name, 'env': args.env, 'memfree': args.memory, - 'hvmem': args.memory, 'io_big': args.io_big, } if args.array is not None: kwargs['array'] = get_array(args.array) if args.log_dir is not None: kwargs['log_dir'] = args.log_dir if args.dependencies is not None: kwargs['dependencies'] = args.dependencies + if args.queue != 'all.q': kwargs['hvmem'] = args.memory if args.parallel is not None: kwargs['pe_opt'] = "pe_mth %d" % args.parallel kwargs['memfree'] = "%d%s" % (int(args.memory.rstrip(string.ascii_letters)) * args.parallel, args.memory.lstrip(string.digits)) @@ -136,7 +136,8 @@ def resubmit(args): kwargs['queue'] = args.qname if args.memory is not None: kwargs['memfree'] = args.memory - kwargs['hvmem'] = args.memory + if args.qname not in (None, 'all.q'): + kwargs['hvmem'] = args.memory if args.parallel is not None: kwargs['pe_opt'] = "pe_mth %d" % args.parallel kwargs['memfree'] = "%d%s" % (int(args.memory.rstrip(string.ascii_letters)) * args.parallel, args.memory.lstrip(string.digits)) diff --git a/gridtk/sge.py b/gridtk/sge.py index cdfae97..426973e 100644 --- a/gridtk/sge.py +++ b/gridtk/sge.py @@ -131,7 +131,7 @@ class JobManagerSGE(JobManager): self.lock() # iterate over all jobs jobs = self.get_jobs(job_ids) - accepted_old_status = ('success', 'failure') if also_success else ('failure',) + accepted_old_status = ('submitted', 'success', 'failure') if also_success else ('submitted', 'failure',) for job in jobs: # check if this job needs re-submission if running_jobs or job.status in accepted_old_status: @@ -142,6 +142,8 @@ class JobManagerSGE(JobManager): # re-submit job to the grid arguments = job.get_arguments() arguments.update(**kwargs) + if ('queue' not in kwargs or kwargs['queue'] == 'all.q') and 'hvmem' in kwargs: + del kwargs['hvmem'] job.set_arguments(kwargs=arguments) # delete old status and result of the job job.submit() -- GitLab