aboutsummaryrefslogtreecommitdiff
path: root/benchmark/scripts/monitor_job.py
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/scripts/monitor_job.py')
-rw-r--r--benchmark/scripts/monitor_job.py8
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')