MCPcopy Index your code
hub / github.com/Tencent/CodeAnalysis / TaskMain

Class TaskMain

client/task/puppytask.py:33–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

31
32
33class TaskMain(object):
34 def __init__(self, request_file, response_file="task_response.json"):
35 self._request_file = os.path.realpath(request_file)
36 self._response_file = os.path.realpath(response_file)
37
38 def run(self):
39 # 记录开始时间
40 time_format = "%Y-%m-%d %H:%M:%S"
41 task_start_time = time.strftime(time_format,time.localtime(time.time()))
42
43 try:
44 if settings.DEBUG:
45 level = logging.DEBUG
46 else:
47 level = logging.INFO
48 format_pattern = '%(asctime)s-%(levelname)s: %(message)s'
49 logging.basicConfig(level=level, format=format_pattern)
50
51 # set locale for all categories to the user’s default setting (in the LANG env variable)
52 try:
53 locale.setlocale(locale.LC_ALL, '')
54 except Exception as err:
55 logger.error(err)
56 os.environ["LC_ALL"] = "en_US.UTF-8"
57 os.environ["LANG"] = "en_US.UTF-8"
58
59 # git默认配置
60 GitConfig.set_default_config()
61
62 # 执行任务
63 response = TaskRunner(self._request_file, self._response_file).run_task()
64 except Exception as err:
65 if isinstance(err, ScmCommandError):
66 task_code = E_NODE_TASK_SCM_FAILED
67 else:
68 task_code = getattr(err, 'code', E_NODE_TASK)
69 task_msg = u"%s: %s" % (type(err).__name__, err)
70 task_data = traceback.format_exc()
71 err_data = getattr(err, 'data', '')
72 if err_data:
73 task_data += err_data
74 response = TaskResponse(status=task_code, result=task_data, message=task_msg)
75 finally:
76 # 删除临时ssh文件
77 SshFlieClient.remove_temp_ssh_file()
78
79 if response.status != OK:
80 logger.warning('task status code is %d', response.status)
81 if response.message:
82 logger.warning('task messsage: %s', response.message)
83 if response.result:
84 with open(request_file, "r") as rf:
85 task_request = json.load(rf)
86 task_params = task_request.get("task_params")
87 if not ToolDisplay.is_sensitive_tool(task_params):
88 logger.warning('task result: \n%s', response.result)
89
90 # 记录结束时间

Callers 1

puppytask.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected