From 9542a1b251e6385e45722783890bd9b2129daa27 Mon Sep 17 00:00:00 2001 From: Acribbs Date: Sun, 10 Nov 2024 20:16:10 +0000 Subject: [PATCH] default cpu when value is not integer --- cgatcore/pipeline/execution.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/cgatcore/pipeline/execution.py b/cgatcore/pipeline/execution.py index 1741bb1c..df529871 100644 --- a/cgatcore/pipeline/execution.py +++ b/cgatcore/pipeline/execution.py @@ -1038,10 +1038,16 @@ def _convert(key, v): data.update(dict([(x[0], _convert(x[0], x[1])) for x in pairs if len(x) == 2])) - # remove % sign + cpu_value = data.get("percent_cpu", "0") + # Strip potential '%' symbols, handle non-numeric cases gracefully + try: + percent_cpu = int(re.sub("%", "", cpu_value)) if cpu_value.replace("%", "").strip().isdigit() else 0 + except ValueError: + percent_cpu = 0 # Default or fallback value, adjust as necessary + data.update( - {"percent_cpu": int(re.sub("%", "", data.get("percent_cpu", 0))), - "cpu_t": float(data["user_t"]) + float(data["sys_t"])}) + {"percent_cpu": percent_cpu, + "cpu_t": float(data.get("user_t", 0)) + float(data.get("sys_t", 0))}) return JobInfo(jobId=process.pid, resourceUsage=data)