diff options
Diffstat (limited to 'functest/api/common/thread.py')
-rw-r--r-- | functest/api/common/thread.py | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/functest/api/common/thread.py b/functest/api/common/thread.py deleted file mode 100644 index fb60aaac..00000000 --- a/functest/api/common/thread.py +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env python - -# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 - -""" -Used to handle multi-thread tasks -""" - -import logging -import threading - -from oslo_serialization import jsonutils - - -LOGGER = logging.getLogger(__name__) - - -class TaskThread(threading.Thread): - """ Task Thread Class """ - - def __init__(self, target, args, handler): - super(TaskThread, self).__init__(target=target, args=args) - self.target = target - self.args = args - self.handler = handler - - def run(self): - """ Override the function run: run testcase and update database """ - update_data = {'task_id': self.args.get('task_id'), - 'status': 'IN PROGRESS'} - self.handler.insert(update_data) - - LOGGER.info('Starting running test case') - - try: - data = self.target(self.args) - except Exception as err: # pylint: disable=broad-except - LOGGER.exception('Task Failed') - update_data = {'status': 'FAIL', 'error': str(err)} - self.handler.update_attr(self.args.get('task_id'), update_data) - else: - LOGGER.info('Task Finished') - LOGGER.debug('Result: %s', data) - new_data = {'status': 'FINISHED', - 'result': jsonutils.dumps(data.get('result', {}))} - - self.handler.update_attr(self.args.get('task_id'), new_data) |