上传单个扫描结果
(task, proj_id)
| 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 | |
| 132 | class SingleTaskRuner(TaskRunner): |
no test coverage detected