From 90d4914280c6559c6c0c8989c24ac8b55825d9c8 Mon Sep 17 00:00:00 2001 From: wangruidong <940853815@qq.com> Date: Mon, 18 Mar 2024 17:32:25 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=88=A0=E9=99=A4job-execution/asset-d?= =?UTF-8?q?etail=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ops/api/job.py | 14 +------------- apps/ops/models/job.py | 39 --------------------------------------- apps/ops/urls/api_urls.py | 1 - 3 files changed, 1 insertion(+), 53 deletions(-) diff --git a/apps/ops/api/job.py b/apps/ops/api/job.py index 26ce3ba8c..d71e62828 100644 --- a/apps/ops/api/job.py +++ b/apps/ops/api/job.py @@ -23,8 +23,7 @@ from ops.models import Job, JobExecution from ops.serializers.job import JobSerializer, JobExecutionSerializer, FileSerializer, JobTaskStopSerializer __all__ = [ - 'JobViewSet', 'JobExecutionViewSet', 'JobRunVariableHelpAPIView', - 'JobAssetDetail', 'JobExecutionTaskDetail', 'UsernameHintsAPI' + 'JobViewSet', 'JobExecutionViewSet', 'JobRunVariableHelpAPIView', 'JobExecutionTaskDetail', 'UsernameHintsAPI' ] from ops.tasks import run_ops_job_execution @@ -226,17 +225,6 @@ class JobExecutionViewSet(OrgBulkModelViewSet): return Response({'task_id': task_id}, status=200) -class JobAssetDetail(APIView): - rbac_perms = { - 'get': ['ops.view_jobexecution'], - } - - def get(self, request, **kwargs): - execution_id = request.query_params.get('execution_id', '') - execution = get_object_or_404(JobExecution, id=execution_id, creator=request.user) - return Response(data=execution.assent_result_detail) - - class JobExecutionTaskDetail(APIView): rbac_perms = { 'GET': ['ops.view_jobexecution'], diff --git a/apps/ops/models/job.py b/apps/ops/models/job.py index 3a067141a..7c6f9e9ab 100644 --- a/apps/ops/models/job.py +++ b/apps/ops/models/job.py @@ -254,45 +254,6 @@ class JobExecution(JMSOrgBaseModel): return self.job.get_history(self.job_version) return self.job - @property - def assent_result_detail(self): - if not self.is_finished or self.summary.get('error'): - return None - result = { - "summary": self.summary, - "detail": [], - } - for asset in self.current_job.assets.all(): - asset_detail = { - "name": asset.name, - "status": "ok", - "tasks": [], - } - if self.summary.get("excludes", None) and self.summary["excludes"].get(asset.name, None): - asset_detail.update({"status": "excludes"}) - result["detail"].append(asset_detail) - break - if self.result["dark"].get(asset.name, None): - asset_detail.update({"status": "failed"}) - for key, task in self.result["dark"][asset.name].items(): - task_detail = {"name": key, - "output": "{}{}".format(task.get("stdout", ""), task.get("stderr", ""))} - asset_detail["tasks"].append(task_detail) - if self.result["failures"].get(asset.name, None): - asset_detail.update({"status": "failed"}) - for key, task in self.result["failures"][asset.name].items(): - task_detail = {"name": key, - "output": "{}{}".format(task.get("stdout", ""), task.get("stderr", ""))} - asset_detail["tasks"].append(task_detail) - - if self.result["ok"].get(asset.name, None): - for key, task in self.result["ok"][asset.name].items(): - task_detail = {"name": key, - "output": "{}{}".format(task.get("stdout", ""), task.get("stderr", ""))} - asset_detail["tasks"].append(task_detail) - result["detail"].append(asset_detail) - return result - def compile_shell(self): if self.current_job.type != 'adhoc': return diff --git a/apps/ops/urls/api_urls.py b/apps/ops/urls/api_urls.py index 905f0ed0a..a02f582fa 100644 --- a/apps/ops/urls/api_urls.py +++ b/apps/ops/urls/api_urls.py @@ -25,7 +25,6 @@ router.register(r'task-executions', api.CeleryTaskExecutionViewSet, 'task-execut urlpatterns = [ path('playbook//file/', api.PlaybookFileBrowserAPIView.as_view(), name='playbook-file'), path('variables/help/', api.JobRunVariableHelpAPIView.as_view(), name='variable-help'), - path('job-execution/asset-detail/', api.JobAssetDetail.as_view(), name='asset-detail'), path('job-execution/task-detail//', api.JobExecutionTaskDetail.as_view(), name='task-detail'), path('username-hints/', api.UsernameHintsAPI.as_view(), name='username-hints'), path('ansible/job-execution//log/', api.AnsibleTaskLogApi.as_view(), name='job-execution-log'),