diff --git a/gstlal/python/dags/layers/__init__.py b/gstlal/python/dags/layers/__init__.py index a2cfdccb56d1e92d709a5d7f4cb2085c8ea63583..f780fb8995c370f0896bf13918ee80ba07e00a80 100644 --- a/gstlal/python/dags/layers/__init__.py +++ b/gstlal/python/dags/layers/__init__.py @@ -50,7 +50,7 @@ class Layer: Whether to leverage Condor file transfer for moving around files. On by default. dynamic_memory - Whether to dynamically increase memory request if jobs are + Whether to automatically increase memory request if jobs are put on hold due to going over memory requested. Off by default. requirements @@ -128,11 +128,10 @@ class Layer: # set dynamic memory opts if requested if self.dynamic_memory: base_memory = submit_options["request_memory"] - submit_options["+MemoryUsage"] = f"( {base_memory} ) * 2 / 3" - submit_options["request_memory"] = "( MemoryUsage ) * 3 / 2" + submit_options["request_memory"] = f"ifThenElse((isUndefined(MemoryUsage) || (MemoryUsage<{int(0.8*base_memory)})), {base_memory}, {2*base_memory})" submit_options["periodic_release"] = " || ".join([ submit_options["periodic_release"], - "((CurrentTime - EnteredCurrentStatus > 180) && (HoldReasonCode != 34))" + "((HoldReasonCode==34) && (RequestMemory>MemoryProvisioned) && (time()-EnteredCurrentStatus>120))" ]) return {