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

Method upload_task_result

client/node/localtask/runtask.py:83–129  ·  view source on GitHub ↗

上传单个扫描结果

(task, proj_id)

Source from the content-addressed store, hash-verified

81
82 @staticmethod
83 def upload_task_result(task, proj_id):
84 """
85 上传单个扫描结果
86 """
87 # logger.info('task(%s) result upload to file server start ...' % task.task_name)
88 with open(task.request_file) as rf:
89 task_request = json.load(rf)
90 # 上报进度: 98% - 上传扫描结果
91 Reporter(task_request['task_params']).update_task_progress(InfoType.SendResult)
92
93 if task.code is None: # 扫描正常完成的情况
94 with open(task.response_file, 'r') as fp:
95 task_response = json.load(fp)
96 code = task_response['status']
97 data = task_response['result']
98 msg = task_response['message']
99 node_task_version = task_response['task_version']
100 else: # 扫描异常退出情况
101 code = task.code
102 data = task.data
103 msg = task.msg
104 node_task_version = IToolModel.version
105
106 with open(task.request_file) as rf:
107 task_request = json.load(rf)
108 execute_processes = task_request['execute_processes']
109 task_dir = task_request['task_dir']
110
111 if QuickScan.is_quick_scan(): # 快速分析不上报结果到文件服务器,只保存在本地
112 data_url, log_url = "", ""
113 else:
114 # 上传issues和log到文件服务器
115 try:
116 data_url, log_url = ResultUploader().upload_result_detail(proj_id, task.task_id, task_dir, data,
117 task.task_log)
118 except FileServerError as err:
119 code = err.code
120 msg = f"Fail to send result to file server! Error: {str(err)}"
121 data_url = ""
122 log_url = ""
123 logger.error(msg)
124
125 # 上报进度: 100% - 子任务执行结束
126 Reporter(task_request['task_params']).update_task_progress(InfoType.TaskDone)
127 # logger.info('task(%s) result upload to file server finished.' % task.task_name)
128
129 return code, msg, log_url, data_url, execute_processes, node_task_version
130
131
132class SingleTaskRuner(TaskRunner):

Callers 3

runMethod · 0.80
_handle_exist_taskMethod · 0.80

Calls 5

ReporterClass · 0.90
is_quick_scanMethod · 0.80
errorMethod · 0.80
loadMethod · 0.45
update_task_progressMethod · 0.45

Tested by

no test coverage detected