顺序执行tasks
| 170 | |
| 171 | |
| 172 | class InOrderTasksRunner(object): |
| 173 | """顺序执行tasks""" |
| 174 | def __init__(self, execute_request_list, env, job_web_url, proj_id): |
| 175 | self._execute_request_list = execute_request_list |
| 176 | self._env = env |
| 177 | self._job_web_url = job_web_url |
| 178 | self._proj_id = proj_id |
| 179 | |
| 180 | def run(self): |
| 181 | error_code = 0 |
| 182 | error_msg = "" |
| 183 | proj_scan_succ = True |
| 184 | proj_scan_result = [] |
| 185 | local_task_dirs = [] |
| 186 | for task_request in self._execute_request_list: |
| 187 | # 执行单个任务扫描,使用未经污染的环境变量 |
| 188 | task = SingleTaskRuner(task_request, env=self._env).run() |
| 189 | error_code, error_msg, log_url, data_url, execute_processes, node_task_version = \ |
| 190 | ResultCheck.upload_task_result(task, self._proj_id) |
| 191 | error_code, error_msg, task_succ, task_result = ResultCheck.get_task_result(task, |
| 192 | self._job_web_url, |
| 193 | log_url, data_url) |
| 194 | local_task_dirs.append(task_request["task_dir"]) |
| 195 | proj_scan_result.append(task_result) |
| 196 | if not task_succ: |
| 197 | proj_scan_succ = False |
| 198 | break |
| 199 | return proj_scan_succ, proj_scan_result, local_task_dirs, error_code, error_msg |
| 200 | |
| 201 | |
| 202 | class ConcurrentTasksRuner(TaskRunner): |