diff options
author | chenjiankun <chenjiankun1@huawei.com> | 2017-01-19 20:24:48 +0000 |
---|---|---|
committer | chenjiankun <chenjiankun1@huawei.com> | 2017-01-20 10:25:04 +0000 |
commit | 0d95404dcdbda326a3fffa344a8295bf696f9626 (patch) | |
tree | 2f4b491da632dd1f10831727fcd2e17a2abae2bd /yardstick/cmd | |
parent | 8f4cc883d89e997320d68c653a12d59f8fba308b (diff) |
Record task status if running via CLI
JIRA: YARDSTICK-542
Currently we do not record task status when using CLI to run task.
So I add this function.
If status=0, task is not done.
if status=1, task is done.
if status=2, there is an error.
Change-Id: Ib9b3c8abd233909c04f792115199250419fa8d7a
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
Diffstat (limited to 'yardstick/cmd')
-rw-r--r-- | yardstick/cmd/commands/task.py | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/yardstick/cmd/commands/task.py b/yardstick/cmd/commands/task.py index d7c0a01fb..20ab086e5 100644 --- a/yardstick/cmd/commands/task.py +++ b/yardstick/cmd/commands/task.py @@ -1,4 +1,4 @@ -############################################################################## +############################################################################# # Copyright (c) 2015 Ericsson AB and others. # # All rights reserved. This program and the accompanying materials @@ -9,10 +9,12 @@ """ Handler for yardstick command 'task' """ from __future__ import print_function - from __future__ import absolute_import + from yardstick.benchmark.core.task import Task from yardstick.common.utils import cliargs +from yardstick.common.utils import write_json_to_file +from yardstick.common import constants as consts from yardstick.cmd.commands import change_osloobj_to_paras output_file_default = "/tmp/yardstick.out" @@ -42,4 +44,18 @@ class TaskCommands(object): action="store_true") def do_start(self, args, **kwargs): param = change_osloobj_to_paras(args) - Task().start(param, **kwargs) + + self._init_result_file() + + try: + Task().start(param) + except Exception as e: + self._write_error_data(e) + + def _init_result_file(self): + data = {'status': 0, 'result': []} + write_json_to_file(consts.DEFAULT_OUTPUT_FILE, data) + + def _write_error_data(self, error): + data = {'status': 2, 'result': str(error)} + write_json_to_file(consts.DEFAULT_OUTPUT_FILE, data) |