diff options
Diffstat (limited to 'benchmark/scripts/monitor_job.py')
| -rw-r--r-- | benchmark/scripts/monitor_job.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/benchmark/scripts/monitor_job.py b/benchmark/scripts/monitor_job.py index b3e79ead..f0465e7c 100644 --- a/benchmark/scripts/monitor_job.py +++ b/benchmark/scripts/monitor_job.py @@ -21,13 +21,15 @@ class JobFailedError(Exception): pass -def monitor_job(args: List[str]) -> JobResourceUse: +def monitor_job(args: List[str], timeout=None) -> JobResourceUse: """Run a job with resource monitoring, returns resource usage""" platform = get_platform() cmd = time(platform) + args - result = subprocess.run(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE) + result = subprocess.run(cmd, stderr=subprocess.PIPE, stdout=subprocess.PIPE, + timeout=timeout) if result.returncode != 0 : - msg = "[stdout]\n{}\n[stderr]\n{}".format(result.stdout, result.stderr) + msg = "[stdout]\n{}\n[stderr]\n{}".format(result.stdout.decode('utf-8'), + result.stderr.decode('utf-8')) raise JobFailedError(msg) stderr = result.stderr.decode('utf-8') |
